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

Bra*_*don 5 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");
Run Code Online (Sandbox Code Playgroud)

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

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

Eli*_*ing 1

HttpContext.Current.ApplicationInstance.Modules
Run Code Online (Sandbox Code Playgroud)

这返回一个HttpModuleCollection对象。或者您想知道如何在运行时以编程方式注册 HttpModule