我的应用程序中的“Cache”文件夹中有一些aspx文件,我不希望HttpModules为该文件夹中的那些文件运行。我尝试在子目录中有一个web.config,但是我知道HttpModules采用了根web.config而不是子目录。 Reference 1,Reference2。所以我决定根据建议here和here将此目录作为子应用程序。
所以我配置我的应用程序,然后“添加应用程序”,将其映射到此目录,该目录已经在此应用程序和繁荣中,它失败了。它适用于静态html文件,但aspx文件不可用。
我的问题是,如何在IIS7中配置子应用程序,以便子应用程序可以拥有自己的web.config,然后我可以禁用根应用程序的HTTPModule
编辑:事实上我尝试在我的主应用程序中创建一个子应用程序,它不起作用。有人可以指出我在IIS7中如何配置子应用程序的任何文章吗?
Edit2:添加错误图像。那么我应该如何配置子应用程序池。子应用程序在与父
相同的应用程序池中运行Edit3:抱歉,孩子正在另一个应用程序池上运行。通用应用程序工作(没有模块)。在我试用这些模块后,我正在给出答案。谢谢你的帮助。在我的父应用程序web.config中有一些特定的东西,我现在要去搜索。
alt text http://i49.tinypic.com/ibjhw4.jpg
编辑:实际上下面提供的答案都是正确的。如果您使用的是IIS7集成模式,那么您的模块应该在system.webServer中,如果是IIS7 - 经典模式,您的模块(和处理程序?)应该在system.web中
答案 0 :(得分:8)
JKG对IIS6有正确的答案,但IIS7中的语法略有不同:
<system.webServer>
<modules>
<remove name="MyModule"/>
</modules>
</system.webServer>
答案 1 :(得分:5)
如果web.config位于同一个Web应用程序中,它将始终从其父级继承,但您可以清除整个内容或删除项目,如下所示:
从子web.config(全部清除或删除项目)
<httpModules>
<clear />
<remove name="MyModule"/>
</httpModules>
使用位置标记从父配置...
<location inheritInChildApplications="false">
<system.web>
<!-- ... -->
</system.web>
</location>