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服务,但我觉得这是一个糟糕的解决方案。感谢您的关注。