2013-03-04 60 views
0

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

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

回答

0

一旦应用程序启动完成,模块列表就不可变。该列表是不可变的,这是IIS所要求的,所以它不是我们在ASP.NET层中可以改变的东西。

您的最佳行动方式是让模块始终注册,但如果它已被“禁用”,则使其方法无效。您可能会发现将原始IHttpModule包装在帮助包装器IHttpModule中可以更轻松地完成此操作。

相关问题