使用Enterprise Library时,WCF服务中的“无法识别的配置部分exceptionHandling”

时间:2010-05-03 14:21:19

标签: c# .net asp.net enterprise-library web-config

我正在处理WCF服务,并希望使用Enterprise Library ExceptionHandling块将故障消息发送回客户端,但我遇到了问题。我在网上很少发现这个错误。

我将exceptionHandling块添加到web.config中,并在configSections中引用了exceptionHandling,但我仍然收到错误。

我在项目中也引用了ExceptionHandling.WCF dll。

我不应该做任何其他事情,但是当我在浏览器中发布并启动服务时,它仍然会抛出错误。

有什么想法吗?这可能是非常简单的事情,但我找不到问题。以下是我的web.config中的相关部分:

      <section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

  <exceptionHandling>
<exceptionPolicies>
  <add name="WCF Exception Shielding">
    <exceptionTypes>
      <add type="System.InvalidOperationException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" postHandlingAction="ThrowNewException" name="ArgumentNullException">
        <exceptionHandlers>
          <add
            type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF.FaultContractExceptionHandler, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF"
            name="DefaultFaultContract Handler"
            faultContractType="Bursteg.Samples.WCFIntegration.ServiceContracts.ServiceFault, Bursteg.Samples.WCFIntegration.ServiceContracts">
            <mappings>
              <add name="Id" source="{Guid}"/>
              <add name="MessageText" source="{Message}"/>
            </mappings>
          </add>
        </exceptionHandlers>
      </add>
    </exceptionTypes>
  </add>
</exceptionPolicies>

2 个答案:

答案 0 :(得分:4)

我明白了。 exceptionHandling引用需要是configSections的直接子代。我有几个节点,所以它没有被引用。我以为我会传递我的解决方案。

另外,作为一方,我唯一的参考是Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.WCF

<configSections>
<section name="exceptionHandling" type="Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>

答案 1 :(得分:0)

您是否有<exceptionHandling>的结束标记,或者您是否忘记将其复制/粘贴到样本中?