简体   繁体   中英

Is there a better way to get the proper modules section from the web.config?

The code I've used to get the HTTP Modules is basically

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

This worked fine up until IIS7. The migration command %SystemRoot%\\system32\\inetsrv\\appcmd migrate config "website/" moves the modules into system.webServer , so my code is now updating the wrong section.

Is there a built in way to get the proper module section that should be modified? Or do I have to add a check for the Request.ServerVariables["SERVER_SOFTWARE"] and return system.web / system.webServer depending on the string I get back?

HttpContext.Current.ApplicationInstance.Modules

this returns a HttpModuleCollection object. Or do you want to know how to programmatically register HttpModules at runtime ?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM