Pergunta

Estou usando o site tradicional do ASP.NET no qual estou usando o módulo System.Web.Routing. Quero encontrar a maneira como sei que os módulos HTTP de roteamento são carregados ou não?

Foi útil?

Solução

Tudo o que você precisa saber é o nome do módulo, como você o configurou no seu arquivo web.config, por exemplo, o meu é chamado: "UrlroutingModule", como você pode ver neste snippet aqui (formato para Stackoverflow):

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

Depois de ter isso, tudo o que você precisa fazer é verificar a propriedade dos módulos do aplicativo (que é do tipo httpmoduleCollection para o nome do seu módulo e verifique se não é nulo. Se você deseja fazer uma verificação extra, pode verificar o tipo do objeto também (não mostrado).

// From Global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
    if (Modules.AllKeys.Contains("UrlRoutingModules") 
        && Modules["UrlRoutingModule"] != null)
    {
        // the module is loaded
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top