我为我的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以某种方式禁用正常的跟踪吗?
欢迎提出任何建议。
答案 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文件中。
两者现在都有效。