0

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

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

4

1 回答 1

0

一旦 pre-app start 完成,模块列表是不可变的。IIS 要求列表是不可变的,因此我们无法在 ASP.NET 层中更改它。

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

于 2013-03-04T16:59:14.110 回答