首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在服务器上启用IncludeExceptionDetailInFaults (通过ServiceBehaviorAttribute或<serviceDebug>配置行为

在服务器上启用IncludeExceptionDetailInFaults (通过ServiceBehaviorAttribute或<serviceDebug>配置行为
EN

Stack Overflow用户
提问于 2011-11-30 02:16:59
回答 6查看 329.4K关注 0票数 169

我有一个WCF服务,它一直工作得很好,但有些东西发生了变化,我不知道是什么。

我得到了这个例外:

System.ServiceModel.FaultException:由于内部错误,服务器无法处理该请求。有关该错误的更多信息,请在服务器上打开IncludeExceptionDetailInFaults (从ServiceBehaviorAttribute或从配置行为),以便将异常信息发送回客户端,或者按照Microsoft .NET Framework3.0SDK文档打开跟踪并检查服务器跟踪日志。

这很让人困惑,因为我运行的是.NET 4.0。

我在哪里打开IncludeExceptionDetailInFaults?我正在努力寻找它。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-11-30 02:20:25

.config文件中定义behavior

代码语言:javascript
复制
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name="debug">
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    ...
  </system.serviceModel>
</configuration>

然后将行为应用于您的服务,如下所示:

代码语言:javascript
复制
<configuration>
  <system.serviceModel>
    ...
    <services>
      <service name="MyServiceName" behaviorConfiguration="debug" />
    </services>
  </system.serviceModel>
</configuration>

您也可以通过编程方式设置它。参见this question

票数 277
EN

Stack Overflow用户

发布于 2011-11-30 02:19:47

它在app.config文件中。

代码语言:javascript
复制
<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceDebug includeExceptionDetailInFaults="true"/>
票数 64
EN

Stack Overflow用户

发布于 2014-01-30 06:42:48

如果你想通过代码来实现这一点,你可以像这样添加行为:

代码语言:javascript
复制
serviceHost.Description.Behaviors.Remove(
    typeof(ServiceDebugBehavior));
serviceHost.Description.Behaviors.Add(
    new ServiceDebugBehavior { IncludeExceptionDetailInFaults = true });
票数 50
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8315633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档