无法将WCF行为扩展添加到端点行为

时间:2011-03-31 19:57:42

标签: c# wcf web-config behavior endpointbehavior

<system.serviceModel>
  <extensions>
      <behaviorExtensions>
          <add name="WSDLFlatteningExtension" type="Thinktecture.ServiceModel.Extensions.Description,Thinktecture.ServiceModel.Extensions.Description,Version=1.0.0.0,Culture=Neutral,PublicKeyToken=f0de9a190a6d23d1"/>
      </behaviorExtensions>
  </extensions>
  <behaviors>
    <endpointBehaviors>
      <behavior name="WSDLFlatteningBehavior">
          <WSDLFlatteningExtension />
      </behavior>
    </endpointBehaviors>    
  </behaviors>
</system.serviceModel>
我的web.config中无法识别上面的

<WSDLFlatteningExtension />行。在运行时引发错误。我已经在C:\ windows \ Assembly和C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE中删除了dll,但似乎没有任何工作。

4 个答案:

答案 0 :(得分:1)

假设错误是AssemblyNotFoundException,那么您可以尝试在配置文件中添加DependentAssembly引用,以便框架可以解析在类型中指定的AssemblyName。

答案 1 :(得分:1)

我能够解决这个问题。这是我引用的dll的一个问题。我必须在该类中实现BehaviorExtensionElement以使其在配置中可用。

答案 2 :(得分:0)

我建议您检查type=属性中指定的类型名称 - 这对我来说不合适。您需要指定要添加的IEndpointBehavior类型的完全限定名称。

答案 3 :(得分:0)

是的,type =属性对我来说也是错误的。它应该类似于type =“Your.Full.Namespace.ClassName,Your.Assembly.Name,Version,Culture,PublicKeyToken”。

Example from MSDN

type="Microsoft.WCF.Documentation.EndpointBehaviorMessageInspector, HostApplication, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"