无法找到扩展
我的WCF配置在我的开发人员机器上运行得很好。当我尝试将它发布到演示环境(另一台服务器),它会给我以下错误:无法找到扩展
An error occurred creating the configuration section handler for system.serviceModel/behaviors: Extension element 'log4net' cannot be added to this element. Verify that the extension is registered in the extension collection at system.serviceModel/extensions/behaviorExtensions.
我的配置,这是在两种情况下是相同的:
<system.serviceModel>
<services>
<service name="UI.WS.Services.MyService" behaviorConfiguration="ServiceBehavior">
<endpoint address="" binding="wsHttpBinding"
contract="UI.WS.Services.IMyService"
bindingConfiguration="WsSecurityMode">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true"/>
<serviceMetadata httpGetEnabled="true" />
<!-- Extension -->
<log4net />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="WsSecurityMode">
<security mode="None" />
</binding>
</wsHttpBinding>
</bindings>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<extensions>
<behaviorExtensions>
<!-- Extension -->
<add name="log4net" type="UI.WS.ErrorHandling.Log4NetBehaviorExtensionElement,UI,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null" />
</behaviorExtensions>
</extensions>
</system.serviceModel>
我已经检查了这个hint,这不是问题(如果是这样的话,我猜也不会在开发环境下运行)。
有什么建议吗?
嗯,我试过typeof(UI.WS.ErrorHandling.Log4NetBehaviorExtensionElement).AssemblyQualifiedName
哪给了我UI.WS.ErrorHandling.Log4NetBehaviorExtensionElement, UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
。这现在在两种环境下都可以工作对我来说这是一个奇怪的 - 为什么第一个版本(没有空格)在我的开发者机器上工作?在这两种环境中,应用程序池都在.Net 4.0.3下运行,因此这里没有区别。此外,我还记得模糊地阅读某处,类型声明中的空格应该由于WCF的错误而遗留下来,这似乎并不是这种情况。
无论哪种方式,这个工程现在这样的:
<add name="log4net" type="UI.WS.ErrorHandling.Log4NetBehaviorExtensionElement, UI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
我已经在少数情况下,元素的顺序是非常重要的看到 - 你可以试试''部分移动的顶部''部分查看是否有帮助? –
carlosfigueira
我已经试过了,没有帮助。 – sl3dg3