这里就WCF回调契约分析介绍,其实在WCF回调契约无须标记ServiceContract特性,但是在回调契约中必须为服务的操作标记OperationContract特性。
经过长期学习WCF,自己仍是有许多的收成的,现在就把我的常识财富共享给咱们一些,让咱们也充分一些,这儿咱们先就界说WCF回调契约开端吧。一个服务契约最多只能包括一个回调契约。经过ServiceContract特性,能够指定回调契约:
- interfaceISomeCallbackContract
- {
- [OperationContract]
- voidOnCallback();
- }
- [ServiceContract(CallbackContract=typeof(ISomeCallbackContract))]
- interfaceIMyContract
- {
- [OperationContract]
- intDoSomething();
- }
#T#WCF回调契约无须符号ServiceContract特性,但是在回调契约中有必要为服务的操作符号OperationContract特性。在导入回调契约的元数据中,回调契约以Callback结束。为简洁起见,咱们在界说回调契约时,***以Callback为后缀。为了保管一个回调目标,客户端需求实例化回调目标,然后经过它创立一个上下文目标 ,留意,假如使用了WCF回调契约,则客户端生成的署理类有必要承继自DuplexClientBase署理类,这是一个专门的支撑双向通信的署理类。留意,该类的结构函数参数既能够接纳InstanceContext类型的上下文目标,也能够接纳object类型的回调契约目标。
- classMyCallback:IMyContractCallback
- {
- publicvoidOnCallback()
- {...}
- }
- IMyContractCallbackcallback=newMyCallback();
- InstanceContextcontext=newInstanceContext(callback);
假定客户端的署理类为MyContractClient,则在客户端就能够经过上下文目标取得署理目标:
- MyContractClientproxy=newMyContractClient(context);
转载请说明出处
知优网 » 五分钟让你深化了解WCF回调契约(wcf数据契约)
知优网 » 五分钟让你深化了解WCF回调契约(wcf数据契约)