发生错误:“通信对象 System.ServiceModel.Channels.ServiceChannel 无法用于通信,因为它处于故障状态。”
该错误是由于 app.config 引起的吗?
有什么想法吗? 谢谢
最佳答案
虽然服务器上没有出现第一次异常,但我收到了这个错误事件,在我的情况下,这是因为我收到的响应包含 200k 字节(pdf);而且我没有在我的配置文件中设置适当的设置来允许大尺寸和适当的超时:
<netTcpBinding>
<binding name="NetTcpBinding_IExampleService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
</binding>
</netTcpBinding>
如果错误消息更具体一些就好了。
显然,我的 2 GB 限制不一定适合您的情况,我鼓励读者选择适合您的特定用例的值。
关于c# - 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信,因为它处于 Faulted 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15846997/