0

我正在使用传统的 Asp.Net 网站,我在其中使用 System.Web.Routing 模块。我想找到我知道路由http模块是否加载的方式?

4

1 回答 1

4

您需要知道的只是模块的名称,因为您在 web.config 文件中配置了它,例如我的名称为:“UrlRoutingModule”,您可以从这里的代码片段中看到(格式化为 StackOverflow):

    <add name="UrlRoutingModule" 
         type="System.Web.Routing.UrlRoutingModule, System.Web.Routing,
         Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

一旦你有了它,你需要做的就是检查应用程序的 Modules 属性(它的类型为 HttpModuleCollection 为你的模块的名称,并验证它不为空。如果你想做一些额外的检查,你也可以检查对象的类型(未显示)。

// From Global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
    if (Modules.AllKeys.Contains("UrlRoutingModules") 
        && Modules["UrlRoutingModule"] != null)
    {
        // the module is loaded
    }
}
于 2009-08-23T05:28:48.490 回答