OperationContext.Current.GetCallbackChannel <imyservicecontract>

时间:2016-03-23 23:44:50

标签: performance wcf

在WCF中,我能够使用此调用来获取服务合同,然后在该服务合同中,我可以调用一个回调客户端的方法。好的。

OperationContext.Current.GetCallbackChannel<IMyServiceContract>

但是,最终,这只是一个简单的服务合同。名为“GetCallbackChannel”的方法向我指示应在此处返回Channel对象。您知道,一个具有状态属性(如Closed,Open等)的通道对象,以及状态更改事件。

WCF确实难以获取它为Async调用保持打开的异步通道。我怎么能抓住这个频道?

1 个答案:

答案 0 :(得分:0)

好的,我找到了答案。我尝试了类似的东西,但在GetCallbackChannel中提供CommunicationObject类型不起作用。获取频道后将其投射到ICommuicationObject可以正常工作。

        var c = OperationContext.Current.GetCallbackChannel<IMyServiceContract>();
        ICommunicationObject chan = (ICommunicationObject)c;