.NET WCF 异常
Posted
技术标签:
【中文标题】.NET WCF 异常【英文标题】:.NET WCF Exception 【发布时间】:2012-03-19 02:50:14 【问题描述】:我已经创建了 WCF + WF 服务。
我已添加绑定并尝试从我的测试应用程序中访问和执行我的 WF,但出现此类异常,这是什么意思以及如何解决?
由于内部错误,服务器无法处理请求。有关错误的更多信息,请在服务器上打开 IncludeExceptionDetailInFaults(来自 ServiceBehaviorAttribute 或来自配置行为)以便将异常信息发送回客户端,或根据 Microsoft .NET Framework 3.0 SDK 文档打开跟踪并检查服务器跟踪日志。
谢谢
【问题讨论】:
【参考方案1】:这只是 WCF 针对服务器上的任何故障发回的一般错误。正如错误消息所解释的,如果您想查看实际错误,您需要在服务器配置中打开IncludeExceptionDetailInFaults
。此设置如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
然后,WCF 将返回实际错误。
【讨论】:
我已经添加了代码,但由于某种原因它仍然返回相同的错误。 @WildGoat 你能发布你的要将异常发送到客户端,以便您可以在那里查看异常详细信息,请将 serviceDebug 部分添加到您的行为中,如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
您可以像这样打开跟踪:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Error,ActivityTracing" propagateActivity="true">
<listeners>
<add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="LFFServicesHost.svclog" />
</listeners>
</source>
</sources>
</system.diagnostics>
然后打开 LFFServicesHost.svclog 文件。这将显示有关失败的详细信息。
【讨论】:
我已经添加了代码,但由于某种原因它仍然返回相同的错误。 是的,您仍然会收到错误 - 但包含异常信息后,您可以在调试模式下加载客户端并找到异常详细信息。以上是关于.NET WCF 异常的主要内容,如果未能解决你的问题,请参考以下文章
WCF over net.tcp 与安全模式 none 给出异常
尝试在 ASP.NET 网站中托管时出现 WCF 服务异常错误