2014-01-06 38 views
2

我创建了一个自定义http模块,并希望将这个模块添加到web配置中。 Web应用程序是一个包含多个“子应用程序”的项目。一个子应用程序只是一个文件夹,在该文件夹中它有自己的web.config。我这样做是为了让每个应用程序都有自己的应用程序相关内容。如何在目录级别配置自定义Http模块?

现在我创建了一个自定义http模块。将此添加到根web.config时,模块正常工作。在将http模块配置添加到目录级web.config(例如/Applications/MyApplication/web.config)时,模块不再被初始化。

这是工作正常的根配置。

<httpModules> 
    <add name="MyFirstHttpModule" type="CustomModule.CustomModule,CustomModule" /> 
</httpModules> 

请帮助

回答

1

ASP.net配置已经支持配置inherance。您只需在指定的文件夹中添加新的web.config。

ASP.NET网站的Web.config是继承链的一部分。您网站的子文件夹可以有Web.config。这允许在站点级设置常规设置并在必要时覆盖它们。基础Web.config中任何未在子文件夹中覆盖的设置均保持有效,因此“子”Web.config可能非常小。您可以继续嵌套它们,因此如果需要,子子文件夹可以获得自己的Web.config。

一个很好的例子是在ASP.NET MVC应用程序的视图文件夹中的Web.config文件这确实喜欢防止直接查看视图模板

你可以阅读更多here事情。

如果接收到的,它 不存在SubDir1目录中的文件的请求,ASP.NET开始搜索配置层次, 开始在大多数地方的Web.config文件(位于 当前目录(如果存在)或父目录)。 ASP.NET is 正在为statusError(ASP.NET设置 架构)元素搜索错误元素,其中statusCode属性等于“404”。一旦 ASP.NET找到404错误的配置设置, 中的URL将返回重定向属性作为响应。

相关问题