我使用的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
任何想法?