有没有更好的方法从web.config获取正确的模块部分?

时间:2011-01-19 22:05:09

标签: c# asp.net iis httpmodule

我用来获取HTTP模块的代码基本上是

HttpModulesSection modules = ((SystemWebSectionGroup)config.GetSectionGroup("system.web")).HttpModules;
// Depending on what we need to do...
//modules.Modules.Add(CreateSomeModule());
//modules.Modules.Remove("SomeOtherModule");

直到IIS7,这工作正常。迁移命令%SystemRoot%\system32\inetsrv\appcmd migrate config "website/"将模块移动到system.webServer,因此我的代码现在正在更新错误的部分。

是否有内置方法来获取应修改的正确模块部分?或者我是否必须添加Request.ServerVariables["SERVER_SOFTWARE"]的检查并返回system.web / system.webServer,具体取决于我收到的字符串?

1 个答案:

答案 0 :(得分:1)

HttpContext.Current.ApplicationInstance.Modules

这会返回一个HttpModuleCollection对象。或者你想知道how to programmatically register HttpModules at runtime