我有一个WCF服务,它一直工作得很好,但有些东西发生了变化,我不知道是什么。
我得到了这个例外:
System.ServiceModel.FaultException:由于内部错误,服务器无法处理该请求。有关该错误的更多信息,请在服务器上打开IncludeExceptionDetailInFaults (从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者按照Microsoft .NET Framework3.0SDK文档打开跟踪并检查服务器跟踪日志。
这很让人困惑,因为我运行的是.NET 4.0。
我在哪里打开IncludeExceptionDetailInFaults
?我正在努力寻找它。
发布于 2011-11-30 02:20:25
在.config
文件中定义behavior:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="debug">
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
...
</system.serviceModel>
</configuration>
然后将行为应用于您的服务,如下所示:
<configuration>
<system.serviceModel>
...
<services>
<service name="MyServiceName" behaviorConfiguration="debug" />
</services>
</system.serviceModel>
</configuration>
您也可以通过编程方式设置它。参见this question。
发布于 2011-11-30 02:19:47
它在app.config文件中。
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceDebug includeExceptionDetailInFaults="true"/>
发布于 2014-01-30 06:42:48
如果你想通过代码来实现这一点,你可以像这样添加行为:
serviceHost.Description.Behaviors.Remove(
typeof(ServiceDebugBehavior));
serviceHost.Description.Behaviors.Add(
new ServiceDebugBehavior { IncludeExceptionDetailInFaults = true });
https://stackoverflow.com/questions/8315633
复制相似问题