2012-02-29 63 views
0

我已经创建了WCF + WF服务。.NET WCF异常

我已经添加了绑定并尝试从我的测试应用程序中访问并执行我的WF,但得到这样的异常,这是什么意思,我该如何解决它?


由于内部错误,服务器无法处理请求。有关该错误的更多信息,请在服务器上打开IncludeExceptionDetailInFaults(来自ServiceBehaviorAttribute或来自配置行为),以便将异常信息发送回客户端,或根据Microsoft .NET Framework 3.0 SDK文档启用跟踪并检查服务器跟踪日志。


感谢

回答

2

的仅仅是一个普通的错误WCF发回服务器上的任何故障。正如错误信息所解释的,如果您想查看实际错误,则需要在服务器配置中打开IncludeExceptionDetailInFaults。此设置如下所示:

<behaviors> 
     <serviceBehaviors> 
      <behavior name="My.ServiceBehaviour"> 
       <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" /> 
       <dataContractSerializer maxItemsInObjectGraph="2147483647" /> 
       <serviceDebug includeExceptionDetailInFaults="true" /> 
      </behavior> 
     </serviceBehaviors> 
    </behaviors> 

然后,WCF将返回给您实际的错误。

+0

我已经添加了代码,但由于某种原因它仍然返回相同的错误。 – 2012-02-29 16:04:18

+0

@WildGoat你可以发布你的配置部分吗?您是否在终端上设置了服务行为? – 2012-02-29 22:16:52

1

要发送异常给客户,让您可以在那里查看异常的详细信息,该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文件。这将显示有关失败的详细信息。

+0

我已经添加了代码,但由于某种原因它仍然返回相同的错误。 – 2012-02-29 16:04:33

+0

是的,你仍然会得到错误 - 但是包含异常信息,你可以在调试模式下加载你的客户端,并找到异常详细信息。 – 2012-02-29 16:19:29