从IIS7的web.config中分离处理程序配置(不支持configSource?)

时间:2010-04-12 15:24:28

标签: asp.net iis-7 web-config

对于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文件分开?

1 个答案:

答案 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>

它有效:)

希望这有助于某人。