在WCF中,我能够使用此调用来获取服务合同,然后在该服务合同中,我可以调用一个回调客户端的方法。好的。
OperationContext.Current.GetCallbackChannel<IMyServiceContract>
但是,最终,这只是一个简单的服务合同。名为“GetCallbackChannel”的方法向我指示应在此处返回Channel对象。您知道,一个具有状态属性(如Closed,Open等)的通道对象,以及状态更改事件。
WCF确实难以获取它为Async调用保持打开的异步通道。我怎么能抓住这个频道?
答案 0 :(得分:0)
好的,我找到了答案。我尝试了类似的东西,但在GetCallbackChannel中提供CommunicationObject类型不起作用。获取频道后将其投射到ICommuicationObject可以正常工作。
var c = OperationContext.Current.GetCallbackChannel<IMyServiceContract>();
ICommunicationObject chan = (ICommunicationObject)c;