приложения и подпрограммы iis, взаимодействие web.config - PullRequest
0 голосов
/ 12 ноября 2011

У нас есть веб-сервер, который без проблем запускает несколько отдельных приложений на одном сайте.Я только что добавил новое приложение в корень.Многие из этих приложений используют таблицы маршрутизации в global.asax, также как и те, которые я добавил в root.И я получил ошибку, которая оказалась в web.config, в разделах и , мое новое корневое приложение добавило обработчик с тем же именем, что и в приложении «sub».Но все эти приложения используют одно и то же имя для модулей и обработчиков: они также поддерживают таблицы маршрутизации, и все они называются «UrlRoutingModule» и «UrlRoutingHandler».

То есть, скажем, у нас есть существующие приложения foo иbar работает как http://example.com/foo и http://example.com/bar. И foo, и bar добавляют обработчик с именем "UrlRoutingHandler".Это не вызывает никаких проблем.Теперь я добавляю новое приложение base, которое запускается как просто http://example.com. (без подпути.) Также добавляется UrlRoutingHandler.И как только я добавлю это приложение, foo и bar больше не будут доступны.Любая попытка связаться с ними дает ошибку 500.

Может кто-нибудь подсказать мне, что происходит?Является ли web.config приложения на маршруте «добавленным» в web.config «подчиненного» приложения, но web.configs в «одноранговых» приложениях не влияют друг на друга?

Я переименовалобработчик в базовом приложении, и похоже, что это работает.Но «это работает, и я не знаю, почему» только немного лучше, чем «это не работает, и я не знаю, почему».

1 Ответ

1 голос
/ 12 ноября 2011

Web.config всегда включает в себя все, что находится на родительском уровне. Вы можете переопределить или удалить, но это всегда сумма всего от machine.config до самого вложенного web.config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...