404 error

Se você leu meus artigos sobre Routing com web forms, ou simplesmente está testando o Routing ou ASP.Net MVC, e resolveu fazer o deploy para o IIS, descobriu que lá a história é outra quando recebe um belo erro 404.

Pois bem, é isso mesmo. O IIS 6 não sabe o que fazer com um request http://localhost/app/controlador/acao/id. Ele vai procurar o diretório, e não vai encontrar. Resultado: erro 404.

Algumas opções:

  1. Mapear todos os requests para o filtro ISAPI do ASP.Net. Vai funcionar, mas aí até mesmo imagens e arquivos javascript, html e css vão ser servidos pelo ASP.Net, o que causa um overhead razoável.
  2. Utilizar rotas que possuem extensão, como http://localhost/app/controlador.ASPX/acao/id, ou http://localhost/app/controlador.MVC/acao/id. No segundo caso, você também vai ter que mapear .MVC para a extensão ISAPI do .Net.
  3. Reescrever a URL. Isso é um hack mesmo, e apesar de funcionar, acho que é demais para um problema tão simples. Você acaba reescrevendo para o IIS requests sem extensão por um filtro ISAPI de terceiros, e depois desfaz a rescrita no ASP.Net. De qualquer forma, se você precisar ir a produção, talvez seja a melhor opção.

Mais informações sobre como fazer essas configurações no blog do Steve Sanderson.

Como as opções são como usar Routing com IIS 6, não coloquei acima a melhor de todas: Migrar para Windows Server 2008 e IIS 7. É mais rápido, mais escalável, mais fácil de administrar, mais plugável, mais extensível, etc, etc, etc. Se você é desenvolvedor, o Windows Vista já vem com o IIS 7.


Postado na(s) categoria(s) ASP.Net MVC , ASP.Net Routing pelo Giovanni Bassi em 14 de julho de 2008 às 00:42 | Tags: ,

Ninguém avaliou. Dê sua nota!

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Comentar


(Vai mostrar seu Gravatar)  

  Country flag

biuquote
  • Comentário
  • Pré-visualização
Loading



Quem é Giovanni Bassi

Giovanni Bassi Sou uma pessoa apaixonada por tecnologia e especificamente por .Net. Gerencio uma fábrica de software, gosto muito de arquitetura e engenharia de software, publico artigos e edito a .Net Magazine. Dou umas palestras e cursos de vez em quando, e quando dá tempo eu respiro um pouco. Mais detalhes nesta página.

Selos

Web Days 2008

MCPD

MCSD

.Net Magazine

Calendário

«  agosto 2008  »
seteququsedo
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567
Ver detalhamento de posts no calendário

Postagens recentes

Comentários recentes

Disclaimer / Aviso
As opiniões colocadas neste blog são minhas e pessoais e não expressam necessariamente as opiniões de meus empregadores, pareceiros e amigos. Da mesma forma, os comentários feitos por leitores do blog não expressam a minha opinião.

© Copyright 2008 .Net Unplugged
Sign in