最简单的方式来修改网页.从代码中启用/禁用HttpModule



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

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

一旦pre-app启动完成,模块列表是不可变的。IIS要求列表是不可变的,所以我们不能在ASP中更改它。网络层。

最好的做法是让模块始终注册,但如果它已被"禁用",则使其方法为no-op。您可能会发现,将原始的IHttpModule包装在helper包装器IHttpModule中更容易实现这一点。

最新更新