【问题标题】:CommunicationObjectFaultedException occurring only in test environmentCommunicationObjectFaultedException 仅在测试环境中发生
【发布时间】:2010-08-20 16:21:39
【问题描述】:

我的 WCF 服务在我的开发和生产环境中运行没有任何问题,但在我的测试环境中它偶尔会抛出 CommunicationObjectFaultedException。这很难追查,但似乎只有在很长时间没有调用它之后才会发生。

客户端是运行在两台负载平衡服务器上的 Web 应用程序,WCF 服务托管在 IIS 中并运行在两台负载平衡服务器上。

三种环境之间的 WCF 配置没有区别,所以我相信服务器的设置方式肯定有所不同。我可以要求我的服务器管理员检查哪些内容? (我没有适当的权限访问这些服务器来自己检查内容)。

【问题讨论】:

  • 您是否通过执行某个或多个操作得到错误?听起来错误是间歇性的,但它是否总是在相同的步骤之后抛出(例如单击提交订单按钮)?另外,您是否看到错误中返回的更多信息?
  • 另外,您的管理员是否在事件日志中看到任何可能表明问题原因的内容?
  • 是 HTTP 传输吗?它是否使用任何类型的会话(可靠、安全)?您是否为多个呼叫重复使用代理?在抛出此异常之前是否有任何故障?
  • 另外请说明在这种情况下什么是长时间。

标签: asp.net wcf load-balancing


【解决方案1】:

您可能希望在服务器上启用跟踪以获取更详细的错误信息。您可以请您的管理员启用它吗?

<configuration>
   <system.diagnostics>
      <sources>
            <source name="System.ServiceModel" 
                    switchValue="Information, ActivityTracing"
                    propagateActivity="true">
            <listeners>
               <add name="traceListener" 
                   type="System.Diagnostics.XmlWriterTraceListener" 
                   initializeData= "c:\log\Traces.svclog" />
            </listeners>
         </source>
      </sources>
   </system.diagnostics>
</configuration>

MSDN 链接here。对于您可以发布的任何其他信息,我会更新我的答案。

祝你好运!

【讨论】:

  • 不幸的是,这在实时服务器上的生产环境中通常是不可能的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多