wcf 跟踪设置
示例
WCF跟踪建立在System.Diagnostics之上。要使用跟踪,您应该在配置文件或代码中定义跟踪源。
默认情况下未启用跟踪。要激活跟踪,必须创建跟踪侦听器并为配置中的选定跟踪源设置除“关”以外的跟踪级别;否则,WCF不会生成任何跟踪。
以下示例显示如何启用消息日志记录并指定其他选项:
<configuration><system.diagnostics>
<sources>
<source name="System.ServiceModel"
switchValue="All"
propagateActivity="true" >
<listeners>
<add name="wcf_trace"/>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add name="wcf_trace"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="wcf_trace"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="c:\temp\wcf_trace\DistanceService.svclog" />
</sharedListeners>
</system.diagnostics>
<system.serviceModel>
<diagnostics wmiProviderEnabled="true">
<messageLogging
logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="true"
maxMessagesToLog="3000" />
</diagnostics>
</system.serviceModel>
</configuration>
initializeData指定该侦听器的输出文件的名称。如果未指定文件名,则会根据使用的侦听器类型生成一个随机文件名。
记录级别和选项
服务级别
在此层记录的消息即将输入(接收)或离开(发送)用户代码。如果定义了过滤器,则仅记录与过滤器匹配的消息。否则,将记录服务级别的所有消息。除了“可靠消息传递”消息外,还会在此级别记录基础结构消息(事务,对等通道和安全性)。在流式消息上,仅记录头。此外,安全消息在此级别被记录为解密。
运输等级
在此层记录的消息已准备好进行编码或解码,以便在网上传输时或在网上传输后进行。如果定义了过滤器,则仅记录与过滤器匹配的消息。否则,将记录传输层的所有消息。所有基础结构消息都记录在此层,包括可靠的消息传递消息。在流式消息上,仅记录头。此外,安全消息在此级别记录为已加密,除非使用安全传输(例如HTTPS)。
格式错误
格式错误的消息是WCF堆栈在处理的任何阶段都会拒绝的消息。格式错误的消息按原样记录:如果是这样,则使用不正确的XML进行加密,等等。maxSizeOfMessageToLog定义了要记录为CDATA的消息的大小。默认情况下,maxSizeOfMessageToLog等于256K。有关此属性的更多信息,请参见“其他选项”部分。
如果要禁用跟踪源,则应改用messageLogging元素的logMessagesAtServiceLevel,logMalformedMessages和logMessagesAtTransportLevel属性。您应该将所有这些属性设置为false。
以上是 wcf 跟踪设置 的全部内容, 来源链接: utcz.com/z/315723.html