Execute asp.net MVC na sua hospedagem windows
Como já comentei, estou começando a desenvolver em asp.net MVC. Antes de iniciar um projeto com o RC2 do asp.net MVC, resolvi publicar o projeto de exemplo da Microsoft para testar a compatibilidade da Locaweb com o o MVC.
Para minha surpresa o projeto não funcionou, algo impede que as views apareçam. Enquanto a Locaweb não responde meu chamado, fiz umas pesquisas e descobri que:
1) As Dll´s do MVC não ficam mais na pasta bin
Esse problema afeta os servidores que não tem o MVC instalado, o que é o meu caso. Descobri isso e a solução no blog do Dennis Oliveira. Basta alterar nas referências das dll´s do MVC a propriedade Copy Local para True.
Mesmo assim meu projeto ainda não funcinava na Locaweb.
2) Alterar o Global.asax
Dependendo da versão do IIS, pode ser necessário alterar o Global.asax para que o IIS entenda a URL da página (dica do Felipe Fujiy) É um quebra-galho, mas como estou apenas testando o MVC, resolve a necessidade no momento.
Eu utilizo vb.net, assim a alteração proposta pelo Felipe fica assim:
routes.MapRoute( _
"Default", _
"{controller}.aspx/{action}/{id}", _
New With {.controller = "Home", .action = "Index", .id = ""} _
)
routes.MapRoute( _
"Root", _
"", _
New With {.controller = "Home", .action = "Index", .id = ""} _
)
Agora que consegui publicar minha primeira aplicação e ela funciona, vou fazer uma pequena loja virtual baseada no exemplo da Microsoft no site do asp.net MVC.
Update (06/03/2009)
Para publicar uma aplicação Asp.net MVC na Locaweb, basta publicar as DLL´s do MVC na pasta bin do projeto, se o seu servidor for Windows 2008. Caso o servidor seja Windows 2003, será necessário fazer uma alteração através do painel de controle, conforme esta orientação.
Porque a configuração não funcionou no meu caso?
Estou publicando o projeto em um servidor dedicado Windows 2003 da Locaweb. No meu servidor o Wildcard não estava configurado no IIS e a versão do asp.net 3.5 não era a SP1, pois não solicitei a atualização. Agora, com o IIS configurado e .net SP1 a aplicação está funcionando. A única necessidade foi publicar as DLL´s do MVC na pasta bin.
Se o servidor é dedicado, porque não instalar o Asp.net MVC no servidor? Optei por não instalar em virtude da versão final do MVC não estar disponível e por minha aplicação ser apenas para teste.









Meu nome é Dayvison Pellegrina, sou programador .Net e trabalho no setor operacional da Locaweb resolvendo este tipo de problema de MVC. Há um telefone ou e-mail que possamos entrar em contato com você ?
Gostaria de entender melhor o que ocorre.
Abraços =D
Dayvison,
Antes de eu ter tempo para responder você já localizou o chamado e me ligou.
A atualização para o SP1 resolve parte dos problemas. Assim que a aplicação funcionar ok, eu atualizo este post com o que ocorreu e como deve ser feita a publicação.
Um lixo a hospedagem de sites aqui no Brasil.
Hospedei na locaweb e eles cagaram tanto o servidor que parte da aplicação funciona e outra não.
João,
Também já tive problemas com a Locaweb, em alguns casos tive que brigar muito para resolver, mas de modo geral gosto e recomendo o serviço deles.
Não acredito que serviços de hospedagem no exterior sejam melhores que os daqui, em relação ao atendimento e suporte. Quanto à preço, recursos e disponibilidade, realmente as empresas brasileiras ficam devendo.
Bom dia,
Tenho uma aplicacao MVC num "SUBDOMINIO" do meu site, guideaventure.julianogimenez.com.
Somente a View "INDEX" consigue aparecer.
Existe algum rootinbg que precisa ser feito para as outras aparecerem???
Juliano
Juliano,
Não estou trabalhando mais com o Asp.net MVC, fiz alguns testes mas avaliei que não seria a melhor solução para o projeto que estava desenvolvendo.
Se somente o index aparece, pode ser que o MVC não esteja funcionando. Você precisa verificar se adicionou todas as referências e se publicou corretamente o projeto.
Outro problema pode ser a versão do framework instalada na hospedagem, se for da Locaweb, você pode verificar ou alterar no painel de controle.
Uma dica: tente executar no subdominio o projeto modelo do MVC, se ele funcionar, é algum problema na sua aplicação, se não funcionar, é alguma configuração do servidor.