WCF服务:如何处理DataMembers的空值?

时间:2012-03-26 12:54:33

标签: wcf null

我没有任何运气,谷歌搜索了一段时间,现在试图找出WCF服务如何对空值做出反应 - 直接就像在服务方法的实际参数中设置为null;间接地:参数(DataContract-annotated object)的任何属性都为null。

我的服务是否应该对它访问的任何属性值执行空检查,或者这是隐式的?如果我的服务方法对null属性执行调用,这只会导致FaultException(没有任何关于出错的信息)传递给客户端吗?

此致

1 个答案:

答案 0 :(得分:1)

我在服务配置中启用了错误报告,以便向客户端返回有用的错误信息:

<behaviors>
  <serviceBehaviors>
    <behavior name="errorEnabledBehavior">
      <serviceDebug includeExceptionDetailInFaults="true"/> <!-- THIS IS IT! -->
    </behavior>
  </serviceBehaviors>
</behaviors>

确保在服务定义中使用此行为

<service behaviorConfiguration="errorEnabledBehavior" ...>

修改
我在本地环境中使用它,无论如何我在服务器端记录错误,包括完整的堆栈跟踪。正如他在评论中提到的那样,将这些信息传递给客户可能是危险的,不应该在生产环境中使用。另一种解决方案是使用here所述的自定义故障合同。