Web services 添加includeExceptionDetailInFaults
正在尝试将Web services 添加includeExceptionDetailInFaults,web-services,exception,web-config,Web Services,Exception,Web Config,正在尝试将includeExceptionDetailInFaults=“true”添加到我正在调用的web服务的web配置中,但我定义的两个行为都不起作用 这是调用web服务时出现的错误: System.ServiceModel.FaultException:服务器无法处理 由于内部错误,请求失败。有关 错误,请打开IncludeExceptionDetailInFaults(从 上的ServiceBehaviorAttribute(或来自配置行为) 服务器,以便将异常信息发送回客户端, 或者
includeExceptionDetailInFaults=“true”
添加到我正在调用的web服务的web配置中,但我定义的两个行为都不起作用
这是调用web服务时出现的错误:
System.ServiceModel.FaultException:服务器无法处理
由于内部错误,请求失败。有关
错误,请打开IncludeExceptionDetailInFaults(从
上的ServiceBehaviorAttribute(或来自配置行为)
服务器,以便将异常信息发送回客户端,
或者根据Microsoft.NET Framework 3.0 SDK启用跟踪
记录并检查服务器跟踪日志
编辑:
我看了这个类似的问题,但在建议的答案中有
<services>
<service...
我认为您在错误的一端包含了属性,基本上您是在告诉客户机包含异常信息(这将是一个安全风险)
在service web.config中,您将有一个行为部分(这是从我们的代码中获取的,该代码运行良好,已经运行了大约4年):
behaviors.config如下所示:
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</serviceBehaviors>
</behaviors>
此外,通过外部化配置,我们可以在_MasterConfigs文件夹中保留一个副本,该文件夹在构建时复制到服务中,从而确保所有项目的一致性
编辑:
道歉。。。我刚刚重读了你的问题,你基本上已经了解了我所概述的内容。可能是您命名行为的事实导致了问题(逻辑上不应该如此)。除非它是公开的WCF,否则我认为最好还是返回异常信息,即使是在发布版本中,用于日志记录
<client>
<endpoint
<system.serviceModel>
<bindings configSource="bindings.config"></bindings>
<client configSource="client-local.config"></client>
<behaviors configSource="behaviors.config"></behaviors>
<services>
<service name="xxx.SomeService">
<endpoint contract="xxx.ISomeService" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding"/>
</service>
</system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<dataContractSerializer maxItemsInObjectGraph="2147483646" />
</behavior>
</serviceBehaviors>
</behaviors>