2009-02-22 13 views
7

Próbuję znaleźć sposób, aby programowo sprawdzić, czy konkretny moduł HttpModule jest ładowany (ponieważ komponent, który piszę, wymaga prawidłowego działania modułu). Staram:Wykrywanie, czy załadowany jest moduł HttpModule

bool ismodulepresent = false; 
foreach(HttpModuleAction module in ((HttpModulesSection)ConfigurationManager.GetSection("system.web/httpModules")).Modules) 
{ 
    if(module.Type == typeof(MyModule).FullName) 
    { 
     ismodulepresent = true; 
     break; 
    } 
} 

Ale to działa tylko na odcinku IIS5.1 <httpModules> a nie nowszej części <system.webServer>.

Każdy pomysł, czy jest lepszy sposób na zrobienie tego poza sprawdzaniem obu sekcji?

Odpowiedz

12
HttpModuleCollection modules = HttpContext.Current.ApplicationInstance.Modules; 
foreach (string moduleKey in modules.Keys) 
{ 
    IHttpModule module = modules[moduleKey]; 
    // Do your check here 
} 
+0

Świetne, dzięki! –

Powiązane problemy