新聞中心
經(jīng)過長時間學(xué)習(xí)WCF,本人還是有很多的收獲的,現(xiàn)在就把我的知識財富分享給大家一些,讓大家也充實(shí)一些,這里我們先就定義WCF回調(diào)契約開始吧。一個服務(wù)契約最多只能包含一個回調(diào)契約。通過ServiceContract特性,可以指定回調(diào)契約:

專注于為中小企業(yè)提供做網(wǎng)站、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)新平免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
- interface ISomeCallbackContract
- {
- [OperationContract]
- void OnCallback( );
- }
- [ServiceContract(CallbackContract = typeof(ISomeCallbackContract))]
- interface IMyContract
- {
- [OperationContract]
- intDoSomething( );
- }
#T#WCF回調(diào)契約無須標(biāo)記ServiceContract特性,但是在回調(diào)契約中必須為服務(wù)的操作標(biāo)記OperationContract特性。在導(dǎo)入回調(diào)契約的元數(shù)據(jù)中,回調(diào)契約以Callback結(jié)尾。為簡便起見,我們在定義回調(diào)契約時,***以Callback為后綴。為了托管一個回調(diào)對象,客戶端需要實(shí)例化回調(diào)對象,然后通過它創(chuàng)建一個上下文對象 ,注意,如果使用了WCF回調(diào)契約,則客戶端生成的代理類必須繼承自DuplexClientBase 代理類,這是一個專門的支持雙向通信的代理類。注意,該類的構(gòu)造函數(shù)參數(shù)既可以接收InstanceContext類型的上下文對象,也可以接收object類型的回調(diào)契約對象。
- class MyCallback : IMyContractCallback
- {
- public void OnCallback( )
- {...}
- }
- IMyContractCallback callback = new MyCallback( );
- InstanceContext context = new InstanceContext(callback);
假定客戶端的代理類為MyContractClient,則在客戶端就可以通過上下文對象獲得代理對象:
- MyContractClient proxy = new MyContractClient(context);
本文名稱:五分鐘讓你深入理解WCF回調(diào)契約
標(biāo)題URL:http://www.dlmjj.cn/article/djojgoh.html


咨詢
建站咨詢
