Как настроить один виртуальный каталог моего веб-приложения, чтобы он не наследовал файл web.config? - PullRequest
1 голос
/ 26 мая 2010

У меня есть настройка виртуального каталога в одном из моих веб-приложений, которому не нужно наследовать файл web.config основного приложения, чтобы он мог работать самостоятельно. Мне интересно, как я могу это сделать, потому что сейчас, когда я нажимаю на него (mainwebapp.domain.com/virdir), он выдает ошибку, говоря, что не может найти некоторые зависимости, которые перечислены в основных приложениях web.config в сообщении об ошибке), этот вирдир содержит собственное маленькое приложение, которое нужно просто запустить автономно.

Вот проблемная область:

Line 143:      <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
Line 144:      <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
Line 145:      <add verb="*" path="weborb.aspx" type="Weborb.ORBHttpHandler" />
Line 146:      <add verb="*" path="codegen.aspx" type="Weborb.Management.CodeGen.CodegeneratorHttpHandler" />
Line 147:     <!--elm <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" /> elm-->

ошибка в строке 145: «Не удалось загрузить тип« Weborb.ORBHttpHandler ».» (это родительский файл web.config, в котором отображается ошибка, которую я не хочу изменять) ...

Если я добавлю <clear/> в начало этого же блока в дочернем файле web.config, то получу:

"Не найден обработчик http для типа запроса" GET ""

1 Ответ

1 голос
/ 26 мая 2010

В вашем случае вы хотите использовать удалить (поставьте первым)

  <remove verb="POST,GET,HEAD" path="elmah.axd" />

Другие опции:

Если вы можете изменить свое основное приложение, сделайте следующее.

 <location path="." inheritInChildApplications="false">
     <!-- settings --> 
  </location>

Если вы хотите переопределить то, что было унаследовано, обычно вы можете использовать (например, всплывающее окно от дочернего web.config

<compilation debug="true">
        <assemblies>
            <clear/>
            <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
            <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
            <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>

Руководство MSDN в Web.Config наследование.

...