2009-02-22 18 views
7

मैं प्रोग्रामेटिक रूप से जांचने का कोई तरीका ढूंढने का प्रयास कर रहा हूं कि कोई विशेष HttpModule लोड हो गया है (जैसा कि मैं लिख रहा हूं घटक के रूप में मॉड्यूल को सही तरीके से काम करने की आवश्यकता है)। मैं कोशिश कर रहा हूँ:यह पता लगाना कि कोई HttpModule लोड किया गया है

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

लेकिन वह केवल IIS5.1 <httpModules> अनुभाग और नहीं नए <system.webServer> अनुभाग के लिए काम करता है।

कोई विचार अगर दोनों वर्गों की जांच करने के अलावा ऐसा करने का कोई बेहतर तरीका है?

उत्तर

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

शानदार, धन्यवाद! –

संबंधित मुद्दे