C# WCF错误:无法加载扩展
我在项目中定义了一个类,该类覆盖了C# WCF错误:无法加载扩展,c#,.net,wcf,exception-handling,wcf-extensions,C#,.net,Wcf,Exception Handling,Wcf Extensions,我在项目中定义了一个类,该类覆盖了IDispatchMessageInspector,并添加了相关的配置,但它不起作用 System.Configuration.ConfigurationErrorsException:无法加载为扩展“CustomHeaders”注册的类型“InMotionGIT\u NT.Address.Service,CustomHeaders,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”。(C:\Users\jmachado\Documen
IDispatchMessageInspector
,并添加了相关的配置,但它不起作用
System.Configuration.ConfigurationErrorsException:无法加载为扩展“CustomHeaders”注册的类型“InMotionGIT\u NT.Address.Service,CustomHeaders,版本=1.0.0.0,区域性=中性,PublicKeyToken=null”。(C:\Users\jmachado\Documents\Visual Studio 2010\Projects\InMotionGIT\u NT\Address Service\InMotionGIT\u NT.Address.Service\bin\Debug\InMotionGIT\u NT.Address.Service.dll.config第67行)
这就是我如何调用自定义扩展名的方法
<endpointBehaviors>
<behavior name="jsonBehavior">
<enableWebScript/>
<customHeaders/>
<!--<webHttp/>-->
</behavior>
</endpointBehaviors>
<behaviorExtensions>
<add name="customHeaders" type="InMotionGIT_NT.Address.Service, CustomHeaders, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</behaviorExtensions>
配置中是否有遗漏?更改类型定义。首先,指定完整的类型名(名称空间+类名)。在逗号后,放置保存类型的DLL的名称。然后是一个完全限定的类型名。像这样:
<behaviorExtensions>
<add name="customHeaders" type="InMotionGIT_NT.Address.Service.CustomHeaders, <DLLName> , Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>
确保版本与dll版本相同。在我的例子中,我引用了这些类所属的同一个assemlby。但是我更改了AssemlbyInfo.cs文件中程序集的版本,该版本与App.config文件中的版本不匹配。请注意,在许多情况下(例如,私有类型),您不需要完全限定的名称,即只需执行
My.Namespace.MyType,MyDll
即可。
<behaviorExtensions>
<add name="customHeaders" type="InMotionGIT_NT.Address.Service.CustomHeaders, <DLLName> , Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</behaviorExtensions>