.NET WCF异常
我已经创建了WCF+WF服务 我添加了绑定,并试图从测试应用程序中访问和执行WF,但是遇到这样的异常,这意味着什么?我如何解决它.NET WCF异常,.net,wcf,.net,Wcf,我已经创建了WCF+WF服务 我添加了绑定,并试图从测试应用程序中访问和执行WF,但是遇到这样的异常,这意味着什么?我如何解决它 由于内部错误,服务器无法处理该请求。有关错误的详细信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft.NET Framework 3.0 SDK文档打开跟踪,并检查服务器跟踪日志 谢谢这只是WCF针对服务器上的任
由于内部错误,服务器无法处理该请求。有关错误的详细信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者根据Microsoft.NET Framework 3.0 SDK文档打开跟踪,并检查服务器跟踪日志
谢谢这只是WCF针对服务器上的任何故障发回的一般错误。正如错误消息所解释的,如果要查看实际错误,需要在服务器配置中打开
IncludeExceptionDetailInFaults
。此设置如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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>
然后,WCF将返回实际错误。这只是WCF因服务器上的任何故障而发回的一般错误。正如错误消息所解释的,如果要查看实际错误,需要在服务器配置中打开
IncludeExceptionDetailInFaults
。此设置如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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>
然后,WCF将返回实际错误。要将异常发送到客户端,以便您可以在那里查看异常详细信息,请将serviceDebug部分添加到您的行为中,如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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>
可以按如下方式打开跟踪:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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文件。这将显示失败的详细信息。要将异常发送到客户端,以便您可以在那里查看异常详细信息,请将serviceDebug部分添加到您的行为中,如下所示:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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>
可以按如下方式打开跟踪:
<behaviors>
<serviceBehaviors>
<behavior name="My.ServiceBehaviour">
<serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<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文件。这将显示失败的详细信息。我已经添加了代码,但由于某些原因,它仍然返回相同的错误。@WildGoat您可以发布配置部分吗?是否在端点上设置服务行为?我已经添加了代码,但由于某些原因,它仍然返回相同的错误。@WildGoat能否发布配置部分?是否在端点上设置服务行为?我添加了代码,但由于某些原因,它仍然返回相同的错误。是的,您仍然会收到错误-但如果包含异常信息,您可以在调试模式下加载客户端并查找异常详细信息。我添加了代码,但是由于某些原因,它仍然返回相同的错误。是的,您仍然会得到错误-但是在包含异常信息的情况下,您可以在调试模式下加载您的客户机并找到异常详细信息。