2
我使用雙工模式開發WCF服務並使用nettcpbinding。我使用.NET 4.5。我只有一個客戶端和一個服務器,並且它之間有很多邏輯。客戶始終第一次開始與服務器的通信。我希望該服務器可以調用WCF服務類之外的客戶端函數。我嘗試爲此使用雙工模式。WCF雙工:調用外部WCF服務的回調函數
這是我的WCF服務:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode = InstanceContextMode.Single)]
public class Service : IService
{
...
public IServiceCallback Callback
{
get
{
return OperationContext.Current.GetCallbackChannel<IServiceCallback>();
}
}
}
我沒有問題,當我打電話給我服務的OperationContract的職能範圍內我的回調:
Callback.foo();
但是,當我試圖把它課外服務例如:
service = new Service();
service.Callback.foo();
我得到了OperationContext.Current的NullReferenceException。我發現了很多關於SO和其他資源類似問題的信息,但它無法幫助我確定我的問題。 有沒有我的問題的任何解決方案或可能是調用回調的解決方法?目前我打算爲我的目的創建一個WCF服務,但我覺得這是一個糟糕的解決方案。感謝您的關注。