[英]How to check if an IHttpHandler is loaded?
我有一個global.asax
,我想檢查Application_Start
方法是否注冊了具有特定名稱的IHttpHandler
。 我怎樣才能做到這一點?
可以在應用程序自己的web.config或其他虛擬父目錄之一或machine.config中聲明處理程序。
我不知道要執行您要的公開方法。
我認為您想要的代碼是HttpContext.Current.ApplicationInstance.GetHandlerMapping()、. MapHttpHandler()或.MapIntegratedHttpHandler(),但是它們是私有方法或內部方法。 但是,您應該能夠使用反射來調用它們。
另一種選擇是進行反復試驗的類型測試(嘗試請求應路由到預期處理程序的目標,並查看在多個位置發生的情況,例如HttpModule中的MapRequestHandler事件-但我認為Application_Start還為時過早。
使用WebConfigurationManager.OpenWebConfiguration方法讀取web.config
文件。 由於ASP.NET配置文件的層次結構和繼承 ,在machine.config中添加的所有這些配置部分都可用於您的Web應用程序,因此您需要讀取本地web.config。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~/web.config");
HttpHandlersSection section = (HttpHandlersSection)config.GetSection("system.web/httpHandlers");
GridView1.DataSource = section.Handlers;
GridView1.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.