我知道这可能是一个非常基本的问题,但我对 WCF 和服务创建是全新的。我正在使用 Microsoft VS 2010 C#4 运行本地托管的 WCF 服务。我试图通过简单的绑定通过 URL 运行服务,并通过 URL 运行 PUT 和 GET 方法。我得到:
. 有关更多详细信息,请参阅服务器日志。
当我尝试提出服务请求时出错。如何找到这些服务器日志?
不一定要打开日志记录。需要在 WCF 配置(app.config 或 web.config)中启用跟踪和日志记录。您可以手动执行此操作,也可以通过单击 app.config 然后选择Edit WCF Configuration来执行此操作。如果此项目没有出现在上下文菜单中(发生在旧版本的 VS 中),您可以在 VS 工具菜单中找到它或手动运行它(SvcConfigEditor.exe)。
默认情况下,消息会记录到运行应用程序的目录中的文件中。启用日志记录后,您可以在配置编辑器中对其进行编辑。启用日志记录或跟踪后,编辑器将允许您指定文件路径。
您可以稍后使用 Microsoft 服务跟踪查看器工具来浏览文件,因为它们是大型 XML 文件,并且对用户不友好。双击日志文件后,查看器工具应该会自动出现,或者您可以手动运行它(SvcTraceViewer.exe)。
将此添加到您的 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>