WCF服务:如何查找服务器日志以了解错误?

for*_*ect 14 c# wcf

我知道这可能是一个非常基本的问题,但我是WCF和服务创建的新手.我正在使用Microsoft VS 2010 C#4运行本地托管的WCF服务.我试图通过简单绑定通过URL运行服务,并通过URL运行PUT和GET方法.我得到了:

.请参阅服务器日志以获取更多详

我尝试发出服务请求时出错.如何找到这些服务器日志?

Nik*_*vić 16

记录不一定打开.需要在WCF配置(app.config或web.config)中启用跟踪和日志记录.您可以手动执行此操作,也可以单击app.config,然后选择" 编辑WCF配置".如果此项目没有出现在上下文菜单中(在旧版本的VS中发生),您可以在VS Tools菜单中找到它或手动运行它(SvcConfigEditor.exe).

默认情况下,消息将记录到运行应用程序的目录中的文件中.启用日志记录后,可以在配置编辑器中对其进行编辑.启用日志记录或跟踪后,编辑器将允许您指定文件路径.

WCF配置编辑器

您可以稍后使用Microsoft Service Trace Viewer工具来浏览文件,作为大型XML并且不是用户友好的.双击日志文件后,查看器工具应自动启动,或者您可以手动运行它(SvcTraceViewer.exe).

在此输入图像描述


ush*_*sha 15

将其添加到您的web.config中.您可以在tracelistener的initializeData属性中指定日志的位置

<system.serviceModel>
    <diagnostics>
        <messageLogging logEntireMessage="true" logMalformedMessages="true" logMessagesAtServiceLevel="true" logMessagesAtTransportLevel="true" />
    </diagnostics>
</system.serviceModel>
<system.diagnostics>
    <sources>
        <source name="System.ServiceModel" switchValue="Information, ActivityTracing" propagateActivity="true">
            <listeners>
                <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\Temp\SvcLog\Traces.svclog" />
            </listeners>
        </source>
    </sources>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)