我基本上试图做与
this question相同的事情,
在文件夹中创建一个新的应用程序,以便按如下方式访问它.
* http://www.domain.com/ < Main App * http://www.domain.com/newapp < New App
问题是newapp正在从主应用程序中读取web.config,这会导致错误,因为它没有所有相同的dll等.
对于新应用程序,在IIS中,起点设置为/ newapp,所以我不确定为什么它从/读取web.config.它被设置为它自己的应用程序.
我在XP专业版的IIS6中测试这个,所以不确定这是否有所作为.
主应用程序是dotnet 1.1,新应用程序是3.0.
编辑:
将’inheritInChildApplications’添加到< location>在1.1中不起作用,你得到一个错误:
Parser Error Message: Unrecognized attribute 'inheritInChildApplications'
解决方法
这是设计的.从根目录读取Web.config到相关的app文件夹.除非您的应用更改,否则根目录中的所有更改都会应用到您的应用中.阅读此
MSDN link以更好地了解Web.config层次结构&遗产.
为了让您的应用忽略根目录中的设置,您需要应用位置元素,并将inheritInChildApplications属性设置为false以用于路径.
就像是:
<location path="." inheritInChildApplications="false"> <settings.....> </location
例如,如果根web.config中的某个部分仅特定于根应用程序,则将该元素包围在该部分周围.使用“.”的路径.表示您希望此app文件夹下面的路径中的所有项目都不继承此部分.