我使用wsHttpBinding
和InstanceContextMode.PerCall
。在服务器端,我需要检测客户端是否已正确接收response
。如果没有,我需要清除服务器端的一些东西。为此,我尝试使用OperationContext.Current.InstanceContext.Closed
和OperationContext.Current.InstanceContext.Faulted
。无论我做什么,发生的事件都不会触发(超时连接,关闭客户端,同时仍然接收数据,拔掉电缆)。另外OperationContext.Current.InstanceContext.State
总是关闭。WCF PerCall not firing故障事件
如何检测客户端未收到请求? 作为一种替代解决方案,我想如果我在客户端捕获错误,在服务器端调用清理方法,但这可能会使事情变得复杂,因为互联网连接可能会停止一段时间。
我不认为这是可能的。确认始终从服务器到客户端。如果您需要从客户端到服务器的确认,则必须通过调用其他Web服务来完成。 –