使用 WCF 服务发布数据时,我在 C# 中间歇性地收到错误:
底层连接已关闭
首先建议你去生成日志,仔细看看服务器的运行情况,分析原因。
Web.config:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing"
propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="..." type="System.Diagnostics.XmlWriterTraceListener"
name="xml" />
</sharedListeners>
<trace autoflush="true" />
它生成错误的具体信息。
但同时,我认为可能是你的超时时间太短,或者连接数和资源限制太低。你可以这样设置:
<binding name="yourBindingName"
maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647"
closeTimeout="00:10:00"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"/>