C# 如何在消息日志wcf中添加筛选器

C# 如何在消息日志wcf中添加筛选器,c#,wcf,C#,Wcf,我有一个WCF服务,正在尝试记录其请求/响应 我试图在消息日志上添加过滤器,并尝试按照这里的说明操作 我在互联网上搜索如何做到这一点,以下是我尝试过的 <system.serviceModel> <diagnostics> <!-- log all messages sent/received at the service model level --> <messageLogging logEntireMe

我有一个WCF服务,正在尝试记录其请求/响应

我试图在消息日志上添加过滤器,并尝试按照这里的说明操作

我在互联网上搜索如何做到这一点,以下是我尝试过的

<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>

/soap:信封/soap:标题

/soap:信封/soap:标题
但是,当我将鼠标悬停在
***
上时,它表示缺少所需的属性“filter”,并且/soap:Envelope/soap:Header“元素不能包含文本。内容模型为空”

我做错了吗

有什么办法吗?
谢谢

您似乎缺少过滤器中的
操作
。以下格式是
ContractNamespace/ContractName/OperationName
=
/soap:Envelope/soap:Header/YOURACTIONHERE
的默认格式。看起来您有名称空间和约定名称,但没有操作名称(操作)。添加
操作的目的是要知道过滤器应该做什么,如果没有,您将过滤什么?此外,有关更多信息,请参阅本文。有关“在WCF中配置跟踪”的信息,请参阅以下链接:@Codexer
/soap:Envelope/soap:Header/soap:Action[contains(text(),'readRequest')]
我已将我的筛选器编辑为此。但它仍然说“元素不能包含文本。内容模型为空”我做错了吗?
<filters>
              <add xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
                       /soap:Envelope/soap:Header
              </add>
</filters>