Приложение ASP.NET 3.5 с несколькими файлами web.config (IIS 7) - PullRequest
1 голос
/ 28 ноября 2010

Мы работаем над веб-приложением, которое создает больше веб-приложений.

Каждое веб-приложение должно получить правило перезаписи URL (URL REWRITE MODULE 2.0).

Насколько язнаете, нет способа добавить такие правила без изменения файла web.config (я прав?).

Поэтому я планировал работать с несколькими частичными файлами web.config.Один основной файл .config и множество файлов .config для каждого приложения (каждый файл будет содержать свои правила перезаписи URL веб-приложения).

Этот способ звучит немного беспорядочно, но я не могу думать ни о чем другоми предложения будут приветствоваться.

Так можно ли использовать очень много файлов web.config для корневого приложения?

Заранее спасибо, Гал.

Ответы [ 2 ]

1 голос
/ 11 мая 2012

Этот следующий тег поможет.Отсутствие этого тега стало основной причиной моей проблемы при использовании двух файлов web.config для двух разных приложений, запущенных на моем веб-сайте.

**<location path="." inheritInChildApplications="false">**
   <system.web>
     <!-- ... -->
   </system.web>
**</location>**
0 голосов
/ 28 ноября 2010

У каждого приложения должен быть полный web.config, а не частичный, кроме случаев, когда вы используете net 4

Хитрость заключается в использовании большого количества remove с другой стороны внутри web.config и удалите родительский параметр, который не должен использоваться на этом.

Например, если в основном корне у вас есть модуль, который вы не выиграли, чтобы использовать его на других деревьях, вы используете команду удаления на всех других web.config, чтобы удалить его.Особенно модули, которые находятся в одной корзине, а не в другой корзине каталогов.

<httpModules>
  <remove name="TheHttoModuleNotNeedHere" />
  <remove name="AnonymousIdentification" />

  ... add here your other modules for that directory...
</httpModules>

Команда удаления работает почти для всех сеансов в конфигурации.

Вы можете сделать так, чтобы она работала,Я сделал это, но много работы, чтобы найти все конфликты / ненужные конфиги и удалить их.

Для некоторых других сессий есть также команда clear .Например, в диспетчере ролей вы можете очистить все и добавить новые.

<roleManager enabled="true" ...>
  <providers>
    <clear />
    <add name="MyName" ... type="System.Web.Security.SqlRoleProvider" />
  </providers>

Надеюсь, эта справка поможет вам в работе.

...