【问题标题】:HTTPERR log: Request_Cancelled (while troubleshooting WCF service)HTTPERR 日志:Request_Cancelled(在对 WCF 服务进行故障排除时)
【发布时间】:2014-12-31 18:59:37
【问题描述】:

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

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

HTTPERR 日志中的“Request_Cancelled”是什么?另外,您能否进一步说明我的 WCF 问题?

【问题讨论】:

    标签: c# wcf http http.sys


    【解决方案1】:

    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>
    

    【讨论】:

    • 好吧,我低估了跟踪日志的威力。他们向我展示了服务确实抛出的异常,问题是我如何将其包装在 FaultException 中,这导致服务完全放弃请求(因此,Request_Cancelled)。谢谢。
    • 这不仅发生在超时,当我们尝试序列化 DateTime.MinValue 时也会发生这种情况。除了 UTC 时区之前的地方,应用程序在任何地方都可以工作。这对我们找到根本原因有很大帮助
    猜你喜欢
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多