从HttpContext获取Web.Config中注册的HttpHandlers

8
有没有一种方法可以从当前的HttpContext或web.config中获取已注册的IHttpHandler类型?
我正在尝试查看我的HttpHandler是否从WebControl中注册在web.config中。
1个回答

5
您可以通过以下方式从web.config获取已注册的HttpHandler列表:
using System.Configuration;
using System.Web.Configuration;

Configuration cfg = WebConfigurationManager.OpenWebConfiguration("/");
HttpHandlersSection hdlrs = (HttpHandlersSection)cfg.GetSection("system.web/httpHandlers");

3
这实际上并不适用于自定义处理程序。运行上面的代码,我可以得到所有默认的处理程序,但是我的自定义处理程序没有显示在处理程序列表中。此外,您需要根据应用程序运行的是 IIS 7 还是之前的版本来检查(system.webServer/handlers)。 - Rick Strahl
为了澄清Rick所说的,这对于IIS 7不起作用。但是我可以确认这对于IIS 6有效。 - dana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接