Asp.net 嵌套文件夹的Url路由和web.config

Asp.net 嵌套文件夹的Url路由和web.config,asp.net,web-config,url-routing,Asp.net,Web Config,Url Routing,我正在使用URL路由(与WebForms一起),格式如下: http://host/project/{projectid}/{pageName} 另一个选项是用户正在引用子应用程序: http://host/project/{projectid}/{application}/{pageName} 子应用程序不是新的web应用程序,只是一个虚拟目录。 我的子应用程序确实有一个web.config,其中包含一些特定的appsettings/connstrings 没有URL路由,一切正常 但是,

我正在使用URL路由(与WebForms一起),格式如下:

http://host/project/{projectid}/{pageName}
另一个选项是用户正在引用子应用程序:

http://host/project/{projectid}/{application}/{pageName}
子应用程序不是新的web应用程序,只是一个虚拟目录。
我的子应用程序确实有一个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的设置

编辑:
此人也有类似的问题:


有什么想法吗?

出于某种原因,system.web标签和一些其他标签正在由
web.config(位于虚拟目录中)

我决定将应用程序设置和连接字符串设置放在根目录中的两个单独文件中:

  • 根目录中的web.config(IS、编译、处理程序配置)
  • 根目录中的web.AppSettings.config
  • 根目录中的web.Connections.config

  • 每个虚拟目录的web.config(用户控件、母版页配置)


    • 由于某种原因,system.web标签和一些其他标签正在被
      web.config(位于虚拟目录中)

      我决定将应用程序设置和连接字符串设置放在根目录中的两个单独文件中:

      • 根目录中的web.config(IS、编译、处理程序配置)
      • 根目录中的web.AppSettings.config
      • 根目录中的web.Connections.config

      • 每个虚拟目录的web.config(用户控件、母版页配置)