【发布时间】:2010-03-01 08:47:50
【问题描述】:
我正在使用以下格式的 URL 路由(使用 WebForms):
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
有什么想法吗?
【问题讨论】:
标签: asp.net web-config url-routing