如何检查IHttpHandler是否加载

本文关键字:IHttpHandler 是否 加载 检查 何检查 | 更新日期: 2023-09-27 18:15:52

我有一个global.asax,如果注册了一个具有特定名称的IHttpHandler,我想检查Application_Start方法。我该怎么做呢?

处理程序可以在应用程序自己的web中声明。

如何检查IHttpHandler是否加载

我不知道一个公共方法来做你所要求的。

我认为你想要的代码是HttpContext.Current.ApplicationInstance.GetHandlerMapping(), . maphttphandler()或. mapintegratedhttphandler(),但它们是私有或内部方法。但是,您应该能够使用反射来调用它们。

另一种选择是进行一些试错类型测试(尝试请求应该路由到预期处理程序的目标,并查看在几个地方发生了什么,例如在HttpModule中的MapRequestHandler事件中—但我认为Application_Start太早了。

使用WebConfigurationManager读取web.config文件。OpenWebConfiguration方法。由于ASP。. NET配置文件层次结构和继承所有这些配置部分都是在机器中添加的。你的web应用程序可以使用web.config,所以你需要阅读本地的web.config。

Configuration config = WebConfigurationManager.OpenWebConfiguration("~/web.config");
HttpHandlersSection section = (HttpHandlersSection)config.GetSection("system.web/httpHandlers");
GridView1.DataSource = section.Handlers;
GridView1.DataBind();