我基本上试图做与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
&gt;在1.1中不起作用,你得到一个错误:
Parser Error Message: Unrecognized attribute 'inheritInChildApplications'
答案 0 :(得分:4)
这是设计的。从根目录读取Web.config到相关的app文件夹。除非您的应用更改,否则根目录中的所有更改都会应用到您的应用中。阅读此MSDN link以更好地了解Web.config层次结构&amp;继承。
为了让你的应用忽略root中的设置,你需要应用location元素,并将inheritInChildApplications属性设置为false。
类似的东西:
<location path="." inheritInChildApplications="false">
<settings.....>
</location
例如,如果根web.config中有一个特定于root应用程序的部分,则将该元素包围在该部分周围。使用“。”的路径。表示您希望此app文件夹下面的路径中的所有项目都不继承此部分。
答案 1 :(得分:0)
如前所述 - inheritInChildApplications在.net 1.1中不起作用。
我一直在这方面做了很多研究,我最初来这里寻找解决方案。该主题并没有明确指出这是一个有针对性的1.1问题。
如果您遇到问题并且您的应用程序是2.0或更高版本,请查看本文以获取有关inheritInChildApplications属性的大量详细信息: