有没有更好的方法从 web.config 获取正确的模块部分?
我用来获取 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
取决于我返回的字符串?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这将返回一个 HttpModuleCollection 对象。或者您想了解如何在运行时以编程方式注册 HttpModule?
this returns a
HttpModuleCollection
object. Or do you want to know how to programmatically register HttpModules at runtime?