我有一个使用 nettcpbinding 的异步 WCF 服务。我向它发送了一堆请求,并通过在我的回调中调用 EndDoWork() 来获得结果。如果 EndDonWork 抛出一次异常,之后的所有调用都会抛出异常:通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信,因为它处于 Faulted 状态。
由于第一个异常,我认为这是关闭连接的东西。我的问题是:1.是什么决定了这种行为?如果我使用 basicHttpBinding,则稍后调用 EndDoWork 效果很好。它与keepAlive支持有关吗?2. 配置项有没有什么属性可以设置让服务自动重连?