Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF错误:无法加载扩展_C#_.net_Wcf_Exception Handling_Wcf Extensions - Fatal编程技术网

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>