【问题标题】:How to configure Custom Http Module at Directory level?如何在目录级别配置自定义 Http 模块?
【发布时间】:2014-01-06 11:28:13
【问题描述】:

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

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

这是运行良好的根配置。

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

请帮忙

【问题讨论】:

    标签: asp.net asp.net-mvc iis web-config httpmodule


    【解决方案1】:

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

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

    一个很好的例子是 ASP.NET MVC 应用程序的 View 文件夹中的 Web.config 文件,它可以防止直接查看 View 模板

    您可以阅读更多here

    如果收到对 SubDir1 目录中的文件的请求 不存在,ASP.NET 开始搜索配置层次结构, 从最本地的 Web.config 文件(位于 当前目录(如果存在)或父目录)。 ASP.NET 是 搜索 customErrors 的错误元素(ASP.NET 设置 Schema) 元素,其中 statusCode 属性等于“404”。一次 ASP.NET 找到 404 错误的配置设置,URL 在 重定向属性作为响应返回。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多