2009-02-22 32 views
7

Tôi đang cố gắng tìm cách kiểm tra theo chương trình nếu một HttpModule cụ thể được tải (như một thành phần tôi đang viết yêu cầu mô-đun hoạt động chính xác). Tôi đang cố gắng:Phát hiện xem HttpModule có được nạp

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

Nhưng điều đó chỉ làm cho IIS5.1 <httpModules> phần và không phải là <system.webServer> phần mới hơn.

Bất kỳ ý tưởng nào nếu có cách nào tốt hơn để thực hiện việc này ngoài việc chỉ kiểm tra cả hai phần?

Trả lời

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

Rực rỡ, cảm ơn! –

Các vấn đề liên quan