gpt4 book ai didi

wcf 尝试设置跟踪以进行调试,而不是写入日志文件

转载 作者:行者123 更新时间:2023-12-04 01:45:44 24 4
gpt4 key购买 nike

这是我的 web.config,在 IIS7 上的应用程序中运行 WCF 服务,但没有将任何内容写入指定文件。该文件的权限已授予所有人。

<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information, ActivityTracing, error, warning, critical" propagateActivity="true">
<listeners>
<add name="traceListener"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="c:\log\tracestext.log" />

</listeners>
</source>
</sources>
</system.diagnostics>

我可以添加一个服务引用就好了。
然后我尝试从 Windows 应用程序调用该服务,几分钟后,在运行 Windows 应用程序的机器上出现错误“客户端无法在配置的超时 (00:00:00) 内完成安全协商。”当前协商段为 1 (00:00:00)。”

但绝对没有任何内容写入配置中指定的跟踪日志文件。

我还需要做些什么来启用跟踪吗?感谢您的帮助

编辑:“来源”部分现在与此处推荐的部分匹配: http://msdn.microsoft.com/en-us/library/aa702726.aspx

我已将“诊断。消息记录”部分添加到“system.servicemodel”

并且事件查看器显示:“消息记录已打开。敏感信息可能会以明文形式记录,即使它是在线路上加密的:例如,消息正文。
进程名称:w3wp
进程 ID:1784


但日志文件仍然是空的

最佳答案

是的 - 您刚刚定义了一些 .NET 跟踪源和监听器 - 但您还没有指示 WCF 实际进行跟踪!

您还需要:

<system.serviceModel>
<diagnostics>
<messageLogging
logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="false"
logMalformedMessages="true" logEntireMessage="true"
maxSizeOfMessageToLog="65535000" maxMessagesToLog="500" />
</diagnostics>
</system.serviceModel>

这两部分配置结合起来应该可以!

为了立即将您的消息写回日志文件,您可能需要在 <system.diagnostics> 中添加一个设置。部分:
<system.diagnostics>
... everything you already have....

<trace autoflush="true" />
</system.diagnostics>

关于wcf 尝试设置跟踪以进行调试,而不是写入日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2850653/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com