ASP.NET / WCF跟踪在Sharepoint中不起作用

时间:2009-07-01 15:21:28

标签: wcf sharepoint logging tracing

我为我的WCF Web服务配置了消息跟踪,如下所示:

  <!--TRACING  -->
  <system.diagnostics>
    <sources>
      <source name="System.ServiceModel" switchValue="Verbose, ActivityTracing" propagateActivity="true">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
      <source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
        <listeners>
          <add name="xml" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="log_messages_verbose.log" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>

这在我的开发机器上工作正常,它将所有消息和跟踪记录到xml文件中。 现在,当将Web服务作为(子)Web应用程序部署在Sharepoint Web应用程序中时,该服务正常工作,但跟踪文件保持为空。

我检查了文件的权限,尝试了绝对文件路径,但它仍然不起作用。

由于Web服务部署为子Web应用程序,因此它从sharepoint继承了web.config设置。这可能是个问题吗? sharepoint以某种方式禁用正常的跟踪吗?

欢迎提出任何建议。

4 个答案:

答案 0 :(得分:1)

假设您的Web服务已部署到其自己的目录(以便它不会干扰SharePoint),您是否尝试将带有上述跟踪配置的web.config添加到该目录?

否则Shiraz建议尝试将跟踪代码添加到SharePoint的web.config。

答案 1 :(得分:1)

我有同样的问题。对我有用的是使用&#34; SvcConfigEditor.exe&#34; SharePoint web.config上的工具。没有工具,我可能做错了。 C:\的Inetpub \ wwwroot的\ WSS \ VirtualDirectories \

答案 2 :(得分:0)

您是否可以将其复制到sharepoint的web.config中?

同时检查事件日志中的错误消息。

修改

不确定启用的默认值是什么,您可以尝试将其设置为true

<trace enabled="true" />

答案 3 :(得分:0)

我遇到了同样的问题,然后将该部分移至C:\ inetpub \ wwwroot \ wss \ VirtualDirectories \ 80中的根web.config。

我遇到了同样的问题,log4net无法正常工作,并再次将其移至父web.config文件中。

两者现在都有效。