【问题标题】:Easiest way to modify web.config to enable/disable HttpModule from code修改 web.config 以从代码中启用/禁用 HttpModule 的最简单方法
【发布时间】:2013-03-04 15:25:56
【问题描述】:

我正在开发一个应用程序,它将使网站管理员能够启用/禁用 HttpModule,而无需实际打开和编辑 web.config 文件。我发现使用 System.Configuration 命名空间的 appSettings 节点很容易做到这一点,但它似乎不包括修改 system.web/httpModules 节点的方法。

除了简单地使用 XDocument/XElement,有人知道另一种方法吗?我已经看到了一些涉及一些应用程序启动或应用程序预启动事件的其他方式,但我不确定这对我来说是一个可行的解决方案,因为这是一个已经运行的网站的 HttpModule。我找到了 System.Web.Configuration.HttpModulesSection 类,但这似乎是只读的。任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net web-config httpmodule


    【解决方案1】:

    应用前启动完成后,模块列表将不可变。 IIS 要求列表是不可变的,因此我们无法在 ASP.NET 层中更改它。

    您最好的做法是让模块始终注册,但如果它已被“禁用”,则使其方法变为无操作。您可能会发现将原始 IHttpModule 包装在辅助包装器 IHttpModule 中来完成此操作更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-22
      • 2013-06-24
      • 1970-01-01
      • 2023-01-29
      相关资源
      最近更新 更多