wcf之消息模式分為:
1、請求/答複模式
2、單向模式
3、雙工模式
其中,請求/答複模式,在博文:
<a target="_blank" href="http://blog.csdn.net/jiankunking/article/details/44118625"> wcf 入門教程一(動手建立第一個wcf程式并部署)</a>
<a target="_blank" href="http://blog.csdn.net/jiankunking/article/details/44275359">wcf 入門教程二</a>
中進行了詳細介紹,此處将主要介紹:單向模式與雙工模式。
1、首先,先建立一個wcf應用程式:
建立完成後,目錄如下:
2、删除iservice1.cs和serivce1.svc,或者修改名稱為:calculateservice.svc與icalculateservice.cs後,顯示如下:
3、icalculateservice.cs檔案内容如下:
4、calculateservice.svc檔案中的内容:
5、修改web.config的配置檔案
6、建立winform用戶端進行測試
7、添加服務端引用:
小注:
今天在vs2015中建立wcf類庫,又能找到服務了
8、用戶端代碼如下:
在wcf回調中需要注意死鎖問題
1、如果wcf中暴露出來的操作,沒有傳回值,則可以通過就是設定回調操作
isoneway=true,這樣回調以後立即釋放服務執行個體,不需要等待用戶端響應消息,也可以避免死鎖。
2、如果wcf中暴露出來的操作,有傳回值,則需要通過,修改服務的servicebehavior的concurrencymode為reentrant或multiple即可。
此時,服務端的死鎖問題搞定了。
下面就需要考慮用戶端的死鎖問題了
用戶端的死鎖問題,通過在用戶端回調函數類中的callbackbehaviorattribute中控制這一行為
服務端死鎖時的提示資訊: