Deploy de uma aplicação ASP.NET MVC no IIS 5.1
Por Claudio Ulisse03/08/2008 – 18:59
Olá,
um dia desse, no meu trabalho tive que enfrentar um problema muito comum para quem está tentando utilizar o MVC do ASP.NET para a primeira vez: o deploy. Como as paginas MVC tem Urls amigaveis, isso é, sem extensão .aspx, no momento da publicação no IIS, o servidor não achará as paginas e retornará erro 404. Isso acontece na versão do IIS 5.1, pois nas versões superiores o IIS suporta automaticamente uma aplicação web MVC.O Deploy é um detalhe que os tutoriais dos criadores do MVC ASP.NET não informaram, ou esqueceram. Fiquei procurando no Google alguma coisa que podesse me ajudar em fazer um deploy do MVC no IIS 5.1, e vi que são dezenas e dezenas de foruns e perguntas sobre esse problema. Bom eu resolví dessa maneira no IIS 5.1 depois de algumas gambiarras(é feio mas é a verdade, gambiarra pura) :
- Primeiro, no nosso projeto MVC no global.asax.cs modar a rota
[controller]/[action]/[id] para [controller].mvc/[action]/[id], isso automaticamente deixará compativel o deploy para o ISS 6 ou 7, caso um dia seja necessario atualizar o servidor.
- Vamos clicar com direito do mouse sobre o projeto web e vamos escolher a opção “Publish…”, nesse caso vou publicar a aplicação numa outra partição e não dentro o Inetpub.
- Uma vez publicada a aplicação na pasta desejada, vamos criar um diretorio virtual no IIS. Nesse caso criei a pasta raiz como diretorio virtual.
- Depois disso vamo clicar em “configurar” na janela Propriedades do Site e vamos adicionar a extensão “.mvc” e outra “.*”(opcional caso não se queira usar .mvc, mas eu aconselho de usa-lo)

(lembrem-se, “check that file exists” desmarcado)
Agora todos os caminhos serão automaticamente mudados de http://localhost/Home/About para http://localhost/Home.mvc/About por exemplo.


You must be logged in to post a comment.