2010-04-12 46 views
1

对于web.config的system.web/httpHandlers部分,我可以使用“configSource”属性来指定外部配置文件,如下所示:从web.config中为IIS7分离处理程序配置(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

我也想知道这一点。尽管理由有点不同。我想在64位上为IIS7.5创建一个部分,为IIS7.5 32位创建一个。 – 2010-12-02 04:51:56

回答

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> 

它的工作:)

希望这可以帮助别人。

+0

你描述的不适合我。 system.webServer/handlers元素不支持“configSource”属性。 – 2010-12-03 16:24:24

+1

嗨大卫。在我的Web.config VS2010中强调了configsource属性,表示它不能识别它,但我可以向你保证它对我有效。我想重新迭代,确保你使用反斜杠,而不是正斜杠(这让我)。 – 2010-12-08 12:01:38

+0

所以我忽视它,当它告诉我它不识别属性 – 2010-12-08 12:02:22

相关问题