Отделение конфигурации обработчика от web.config для IIS7 (configSource не поддерживается?) - PullRequest
1 голос
/ 12 апреля 2010

Для раздела system.web / httpHandlers файла web.config я могу использовать атрибут «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>

Есть ли способ отделить конфигурацию моих обработчиков от основного файла web.config для IIS7?

1 Ответ

4 голосов
/ 02 декабря 2010

Ах, я понял.

Вот моя строка из 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>

И это сработало:)

Надеюсь, это кому-нибудь поможет.

...