Wcf 每次调用服务应用程序后关闭客户端通道
我已经开始使用WCF开发客户机-服务器分布式应用程序。客户机还应该向服务器发送请求,因此我选择使用NetTcpBinding实现双工操作,因为所有客户机都将在同一个intranet上运行 在服务器端,对于实现服务器契约的服务类,我使用以下设置Wcf 每次调用服务应用程序后关闭客户端通道,wcf,wcf-client,duplex-channel,Wcf,Wcf Client,Duplex Channel,我已经开始使用WCF开发客户机-服务器分布式应用程序。客户机还应该向服务器发送请求,因此我选择使用NetTcpBinding实现双工操作,因为所有客户机都将在同一个intranet上运行 在服务器端,对于实现服务器契约的服务类,我使用以下设置 [ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode = InstanceContextMode.Single, UseSynchronizationC
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Single, InstanceContextMode = InstanceContextMode.Single, UseSynchronizationContext = false)]
每次初始化客户机时,我都会创建一个代理类的实例,该代理类是通过在VisualStudio中使用“添加服务引用”
选项添加服务而生成的。初始化代理后,我向服务器发送一条Connect
消息:
_proxy.InnerChannel.Faulted += new EventHandler(InnerChannel_Faulted);
_proxy.InnerChannel.Closing += new EventHandler(InnerChannel_Closing);
//send a connect message to the server
_proxy.ClientConnected(ClientHostName, Version, ClientID, ClientIP);
现在,服务器通过使用
OperationContext.Current.GetCallbackChannel<IClientEvents>()
我现在正努力为我的场景找到最合适的实现:
This could be because a client failed to close a sessionful channel within the required time.