代码之家  ›  专栏  ›  技术社区  ›  Kieran Benton

检测是否加载了httpmodule

  •  8
  • Kieran Benton  · 技术社区  · 16 年前

    我正试图找到一种方法,以编程方式检查是否加载了特定的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> 部分。

    除了检查两个部分之外,是否还有更好的方法可以做到这一点?

    1 回复  |  直到 16 年前
        1
  •  14
  •   Darin Dimitrov    16 年前
    HttpModuleCollection modules = HttpContext.Current.ApplicationInstance.Modules;
    foreach (string moduleKey in modules.Keys)
    {
        IHttpModule module = modules[moduleKey];
        // Do your check here
    }