Here is a quick tips to get the list of all active HTTPModules at runtime. We can get the list of all HttpModules from the web.config or from machine.config file. But, what we need to do if we want to get the list of all active HttpModules during runtime? Yes. We can easily get the details with the help of HttpApplication and HttpModuleCollection Class. If we quickly recall the IIS Process Request [One detailed Article], when a request reaches to worker Process from client browser, First of all Worker process is responsible to start and HttpRuntime by loading ISAPI filter. After that HttpRuntime load an HttpApplication object with the help of HttpApplicationFactory class. Each and every request should pass through the corresponding HTTPModule to reach to HTTPHandler, this list of module are configured by the HTTPApplication. Below is the code snippet by which we can get the list of active HttpModules.
//Get Application Instance from Current Content HttpApplication httpApps = HttpContext.Current.ApplicationInstance; //Get List of modules in module collections HttpModuleCollection httpModuleCollections = httpApps.Modules; Response.Write("Total Number Active HttpModule : " + httpModuleCollections.Count.ToString() + "</br>"); Response.Write("<b>List of Active Modules</b>" + "</br>"); foreach (string activeModule in httpModuleCollections.AllKeys) { Response.Write(activeModule + "</br>"); }
Below is the sample output :
This can be quite useful when we want to check if our custom created module loaded successfully or not .
Pingback: Tweets that mention How to get list of all active HttpModules in ASP.NET? | Daily .Net Tips -- Topsy.com
Pingback: Dew Drop – February 4, 2011 | Alvin Ashcraft's Morning Dew