Я использую URL-маршрутизацию (с веб-формами) в следующем формате:
http://host/project/{projectid}/{pageName}
Другой вариант заключается в том, что пользователь ссылается на субприложение:
http://host/project/{projectid}/{application}/{pageName}
Подприложениеэто не новое веб-приложение, а просто виртуальный каталог.
В моем подприложении есть файл web.config, который содержит некоторые специфические appsettings / connstrings.
Все работает без маршрутизации URL.
Однако, когда я запрашиваю URL в перенаправленной форме, web.config подпрограммы не обрабатывается, и я получаю нулевую ссылку на все appsettings / connstrings (через ConfigurationManager).
Вот код моего пользовательского обработчика:
string path = String.Format(_pagesFormat, application, pageName);
return (IHttpHandler) BuildManager.CreateInstanceFromVirtualPath(path, typeof(Page));
Это работает, если я изменил бы свой маршрут на http://host/{application}/{projectid}/{pageName}
Это, вероятно, запускает IIS для загрузки web.config виртуального каталога.
Можно ли как-то принудительно загрузить настройки вложенного web.config?
РЕДАКТИРОВАТЬ:
У этого человека похожая проблема:
http://forums.asp.net/p/1452479/3317775.aspx
Есть идеи?