前而幾節(jié)我們講到如何制定服務(wù)、發(fā)布以及掛載服務(wù),今天我們主要談下WCF開發(fā)中要注意的問題: 1. 先分析具體的業(yè)務(wù)邏輯,再選擇合適的協(xié)議以綁定服務(wù),比如一些單向的服務(wù),如一般的請(qǐng)求-應(yīng)答模式或者要求跨平臺(tái),我們可用http, 如果涉及安全性問題那么可以選擇https;如果需要有消息交互或者需要服務(wù)器與連接客戶推送消息,那么我們可以選擇net.tcp; 2. 數(shù)據(jù)契約最好不要使用繼承,類或者接口的繼承雖然很好地解決了代碼復(fù)用的問題,但作為服務(wù)發(fā)布時(shí)最好使用單一類,因?yàn)榉?wù)發(fā)布后 可能需要?jiǎng)e的平臺(tái)下的應(yīng)用程序來調(diào)用,這樣不利于理解,如果一定要使用繼承,那么請(qǐng)用關(guān)鍵字標(biāo)識(shí)。 3. 使用net.tcp等這種可靠連接時(shí),客戶端就定時(shí)向服務(wù)器發(fā)送消息,以免會(huì)話失效。 4. WCF服務(wù)器端如果使用了回調(diào)函數(shù)接口,那么應(yīng)該考慮會(huì)話是否有效的問題。 5. 如果多個(gè)服務(wù)掛載在同一個(gè)網(wǎng)站下時(shí),要考慮同步與異步的問題,尤其是采用了多線程共享內(nèi)存區(qū)的時(shí)候。 6. 對(duì)所有連接請(qǐng)求用戶必須作安全性檢查,以免遭遇攻擊,以致服務(wù)癱瘓。 7. 如果有消息推送服務(wù)時(shí)應(yīng)按優(yōu)先級(jí)建立隊(duì)列,按次序向客戶端推送。 8. 如果涉及其它平臺(tái)下的服務(wù)訪問問題,數(shù)據(jù)契約最好使用XML格式傳輸數(shù)據(jù),這樣雙方都可以方便解析與使用。 可能在開發(fā)的過程中我們還會(huì)遇到很多問題,但學(xué)習(xí)的過程也就是積累的過程,只要我們認(rèn)真總結(jié)與分析,總能找到好的解決方法。 以下附上幾張前幾天學(xué)習(xí)中程序截圖: 1. 氣象站更新天氣界面: 2. 訂閱用戶端: 3. IIS掛載服務(wù): |
|