3

我正在尝试对访问 WCF 自托管服务的 WCF 客户端上的“连接被远程主机强制关闭”错误进行故障排除。我在服务端机器上查看 System32\LogFiles\HTTPERR 中的 httperr 日志,每次在客户端上看到该错误时,我都会在日志中看到带有服务端点 URI 的条目。原因是“Request_Cancelled”。

我在任何地方都找不到关于这个原因意味着什么的任何信息。我可以猜到,但我想确定,因为它一定与我在客户中看到的错误有关。

HTTPERR 日志中的“Request_Cancelled”是什么?作为奖励,您能否进一步了解我的 WCF 问题?

4

1 回答 1

3

Request_cancelled 可能是超时。

默认情况下应该是

OpenTimeout - 1 minute
CloseTimeout - 1 minute
SendTimeOut - 1 minute
ReceiveTimeout - 10 minute.

尝试在您的 web.config 中设置这些设置。它将向您的 Web 服务添加进一步的日志记录。

在您的 system.serviceModel 部分

<system.serviceModel>

....

    <diagnostics>
      <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="3000" />
    </diagnostics>     

....
</system.serviceModel>

并添加 system.diagnostics 部分。它将日志保存到 c:\temp\wcfServiceLog.svc

<system.diagnostics>
    <switches>
      <add name="XmlSerialization.Compilation" value="4"/>
  </switches>
   <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 name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="c:\temp\wcfServiceLog.svc" />
    </sharedListeners>
  </system.diagnostics>
于 2015-01-01T20:53:01.727 回答