我有一个 WCF 服务,并且正在尝试记录它的请求/响应。
我试图在消息记录中添加过滤器并尝试按照此处的说明进行操作...https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/configuring-message-logging
我在互联网上搜索了如何做到这一点,这是我尝试过的。
<system.serviceModel>
<diagnostics>
<!-- log all messages sent/received at the service model level -->
<messageLogging logEntireMessage="true"
maxMessagesToLog="1000"
maxSizeOfMessageToLog="69905067"
logMessagesAtServiceLevel="true",
logMessagesAtTransportLevel="true">
<filters>
<add nodeQuota="10" xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
/soap:Envelope/soap:Header
</add>
</filters>
</messageLogging>
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<!-- Log all messages in the 'Messages' tab of SvcTraceViewer. -->
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\LOGFILE.svclog"
traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack"/>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
<filters>
<add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
/soap:Envelope/soap:Header
</add>
</filters>
但是当我将鼠标悬停在 **<add>**
上时,它说 缺少必需的属性“过滤器”,并且 /soap:Envelope/soap:Header “元素不能包含文本。内容模型为空"
我做错了吗?
关于如何做到这一点的任何想法? 谢谢