【发布时间】:2018-02-09 09:52:25
【问题描述】:
我有一个托管 SOAP 端点的 IIS 应用程序,我正在尝试添加日志记录以进行调试。调用被执行和处理,但消息内容有问题。在完成任何处理之前,我需要验证内容。
我找到了 web.config 文件并添加了如下日志记录
<system.serviceModel>
<diagnostics performanceCounters="ServiceOnly">
<messageLogging
logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="300000"
maxSizeOfMessageToLog="65535000"/>
</diagnostics>
</system.serviceModel>
和
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
<listeners>
<add name="MyCustomLogging"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\Temp\MyCustomLogging.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
当我使用较小的消息 (screenshot from Service Trace Viewer
但是当真正的集成被触发时,发送的消息要大得多,每个大约 250KB。而那些没有记录。我只是在我的跟踪中得到一个空的 MessageLogTraceRecord 元素 - screenshot from Service Trace Viewer
尺寸可能不是真正的问题,但这是我唯一能想到的。真正的消息是由第三方发送的,我无法访问他们的系统,也不知道他们使用什么来发送消息。但是我们的应用程序成功接收并处理了这些消息,因此它们确实完成了。
任何指针/想法将不胜感激!
【问题讨论】: