我有一个IIS托管的WCF服务,我想使用服务跟踪查看器进行跟踪。 这是web.config中的配置:
<configuration>
<!-- ... -->
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="All,Information,ActivityTracing"
propagateActivity="true">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\Program Files\Archimede\TurniArc\log\web_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener" traceOutputOptions="DateTime">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<!-- ... -->
<system.serviceModel>
<diagnostics>
<messageLogging maxMessagesToLog="10000"
logEntireMessage="true"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logMessagesAtTransportLevel="true">
<filters>
<clear/>
</filters>
</messageLogging>
</diagnostics>
<!-- ... -->
</system.serviceModel>
</configuration>
我只是在表面上看,有许多选项和功能我还没有理解,但我真的无法解释某些让我烦恼的事情:
为什么?
谢谢
答案 0 :(得分:2)
我遇到了同样的问题并搜索了建议,但没有找到任何直接可用的东西。经过一些实验,我发现了这个:
我需要增加最大值。消息的大小,如下所示:
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="65000">
<filters>
<clear/>
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
如果您的跟踪日志为空,则可能是刷新问题。在我的wn机器上调试时,我不得不停止asp.net开发服务器。