我使用的URL路由(与Web窗体)按下列格式的web.config文件:URL路由和嵌套文件夹
http://host/project/{projectid}/{pageName}
另一种选择是,用户是指的一个子程序:
http://host/project/{projectid}/{application}/{pageName}
子应用程序不是一个新的Web应用程序,只是一个虚拟目录。
我的子应用程序确实有一个web.config,其中包含一些特定的appsettings/connstrings。
一切工作正常,没有URL路由。
但是,当我以路由形式请求URL时,子应用程序的web.config未得到处理,并且我在所有appsettings/connstrings(通过ConfigurationManager)上获得了null引用。
下面是我的自定义处理程序的代码:
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
任何想法?