服务跟踪查看器未显示所有内容

本文关键字:显示 跟踪 服务 | 更新日期: 2023-09-27 17:59:55

我有一个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>

我只是触及了它的表面,有很多选项和功能我还没有理解,但我真的无法解释某些困扰我的事情:

  1. 当调用web服务的方法时,我设法找到了我发送回的原始响应信封,但大多数时候请求似乎不在那里
  2. 更糟糕的是,有时.svclog文件甚至不包含任何活动,当我100%确定某些调用已被处理时,即使在iisreset之后也是如此

为什么?

感谢

服务跟踪查看器未显示所有内容

我遇到了同样的问题,并搜索了建议,但没有找到任何直接可用的东西。经过一些实验,我发现:

我需要增加消息的最大大小,比如:

<system.serviceModel>
  <diagnostics>
    <messageLogging
       logEntireMessage="true"
       logMalformedMessages="false"
       logMessagesAtServiceLevel="true"
       logMessagesAtTransportLevel="false"
       maxMessagesToLog="3000"
       maxSizeOfMessageToLog="65000">
       <filters>
         <clear/>
       </filters>
    </messageLogging>
  </diagnostics>
</system.serviceModel>

如果跟踪日志为空,则可能是刷新问题。在我自己的机器上调试时,我不得不停止asp.net开发服务器。