none
Qual é a melhor estratégia para registrar rotas utilizando o ASP.NET MVC 1.0? RRS feed

  • Pergunta

  • Olá pessoal,

    Estou meio atrasado e somente hoje que estou começando um projeto ASP.NET MVC para valer, então logo de cara já surgiu uma duvida, registrar as rotas no global.asax é a melhor opção? Por que eu estava lendo alguns posts e achei um código interesante que registra as rotas no web.config, rodei aqui funcionou certinho, mas enfim, eu fiquei com a dúvida registrar no global.asax ou no web.config dá na mesma? tem alguma desvantagem registrar no web.config ? por que até agora eu só vi vantagem só de não ter de recompilar o código para adicionar uma nova rota...
    Mas é isso, gostaria de saber a opnião de quem já entende mais do assunto.

    Obrigado

    Att.
    Leonardo Lima
    • Editado C. Augusto Proiete [MVP]Moderator quinta-feira, 11 de fevereiro de 2010 23:46 Ao abrir um tópico você já indica se trata-se de uma dúvida ou discussão. Não há a necessidade de colocar um "prefixo" no título.
    segunda-feira, 8 de fevereiro de 2010 19:16

Respostas

  • Olá Leonardo,

    É exatamente isso... A vantagem de colocar as rotas no Web.config ao invés de deixá-las no Global.asax, é não precisar recompilar a aplicação para adicionar novas rotas e alterar as rotas existentes.

    No entanto, na grande maioria das vezes, adicionar uma nova rota provavelmente significa que você adicinou novos Controllers e/ou Views na aplicação, o que força que você tenha que recompilar a aplicação e substituir as DLLs de qualquer maneira...

    Além disso, a maioria das (médias/grandes) empresas, possui uma equipe própria para administrar os servidores, e não permite que você (desenvolvedor) tenha acesso direto ao Web.config para alterar, e você acaba perdendo mais tempo abrindo tickets e negociando com o depto. de Infra para conseguir alterar o Web.config, do que simplesmente enviar um novo pacote da sua aplicação já com as novas rotas...

    Por essas e outras, prefiro manter as definições de rotas no Global.asax.

    Abraços,
    Caio Proiete

     

    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://www.caioproiete.com

    • Marcado como Resposta Leonardo Lima terça-feira, 9 de fevereiro de 2010 00:34
    segunda-feira, 8 de fevereiro de 2010 20:53
    Moderador

Todas as Respostas

  • Olá Leonardo,

    É exatamente isso... A vantagem de colocar as rotas no Web.config ao invés de deixá-las no Global.asax, é não precisar recompilar a aplicação para adicionar novas rotas e alterar as rotas existentes.

    No entanto, na grande maioria das vezes, adicionar uma nova rota provavelmente significa que você adicinou novos Controllers e/ou Views na aplicação, o que força que você tenha que recompilar a aplicação e substituir as DLLs de qualquer maneira...

    Além disso, a maioria das (médias/grandes) empresas, possui uma equipe própria para administrar os servidores, e não permite que você (desenvolvedor) tenha acesso direto ao Web.config para alterar, e você acaba perdendo mais tempo abrindo tickets e negociando com o depto. de Infra para conseguir alterar o Web.config, do que simplesmente enviar um novo pacote da sua aplicação já com as novas rotas...

    Por essas e outras, prefiro manter as definições de rotas no Global.asax.

    Abraços,
    Caio Proiete

     

    Caio Proiete
    Microsoft MVP, MCT, MCPD, MCTS, MCSD
    http://www.caioproiete.com

    • Marcado como Resposta Leonardo Lima terça-feira, 9 de fevereiro de 2010 00:34
    segunda-feira, 8 de fevereiro de 2010 20:53
    Moderador
  • Olá Caio,

    Muito obrigado pela resposta, mas agora com está citação dos web.config, eu acabei de ficar com outra duvida, eu vi (para falar a verdade não entendi muito bem ainda o por que) que há 2 web.config, um na root do project e outro dentro da folder Views, se essa questão do web.config é uma possível desvantagem não haveria outra maneira de fazer o controle de acesso da folder views ? Por que pelo que eu andei estudando o significado do web.config dentro da Views é restringir o acesso à mesma não ??

    Obrigado

    Att.
    Leonardo Lima

    terça-feira, 9 de fevereiro de 2010 00:36