在WCF服务的生产web.config文件中,我看到下面包含的配置,并且想知道<messageLogging>
标记的影响是什么(如果有的话)?基于Recommended Settings for Tracing and Message Logging该标签不应该在那里,但我想知道它的影响。如果可能的话,我宁愿留下它(这是安装在许多网站上,所以更新会很痛苦),前提是它没有显着的性能影响。<messagelogging>标记在<system.diagnostics><diagnostics>中做了什么?它是否包含在Production WCF系统中?
<system.serviceModel>
... (lots more stuff) ...
<diagnostics wmiProviderEnabled="true">
<messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" maxMessagesToLog="3000" />
</diagnostics>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Warning" propagateActivity="true">
<listeners>
<add name="xml" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="ServiceTrace.svclog" />
</sharedListeners>
</system.diagnostics>
谢谢!我了解了记录到ServiceTrace.svclog的跟踪信息,我想知道是否有额外的开销使用WMI。从你的答案看来,这是一个'不',对吗? – Rory
轻微的开销。每次通话的话可能只有毫秒(如果有的话)。我会继续并运行一些负载测试来验证您的场景中您看到了这种类型的性能。打开它并且不记录任何内容是非常简单的。 –
非常好,谢谢.. – Rory