对于web.config的system.web / httpHandlers部分,我可以使用“configSource”属性来指定外部配置文件,如下所示:
<system.web>
<httpHandlers configSource="App_Config\httpHandlers_iis6.config" />
</system.web>
这允许我在所有环境中使用相同的处理程序集,同时只需将它们保存在一个位置,同时仍然允许appSettings之类的东西从一个web.config更改为下一个。
不幸的是,与IIS7处理程序相关的部分似乎支持相同的技术 :
<system.webServer>
<handlers configSource="App_Config\httpHandlers_iis7.config" /> <!-- not supported -->
</system.webServer>
有没有办法将我的处理程序配置与IIS7的主web.config文件分开?
答案 0 :(得分:4)
这是来自web.config的我的行:
<handlers configSource="App_Config\Handlers.xml" />
不是\而不是/(我被抓住了)
在我的外部文件中我得到了:
<handlers accessPolicy="Read, Write, Script, Execute">
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
...
...
...
<add verb="GET,HEAD,POST" preCondition="integratedMode" name="SpellChecker" path="GoogleSpellChecker.ashx" type="umbraco
.presentation.umbraco_client.tinymce3.plugins.spellchecker.GoogleSpellChecker,umbraco"/>
<add verb="POST,GET,HEAD" name="Elmah" path="/umbraco/elmah.axd" type="Westfield.Web.Application.SecureErrorLogPageFactory, Westfield.Web"/>
</handlers>
它有效:)
希望这有助于某人。