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.

Related Posts with Thumbnails

6 Comments

  1. 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

  2. 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.

  3. João Prado says: - reply

    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.

    • vlima says: - reply

      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.

  4. 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

    • Vitor says: - reply

      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.

Leave A Reply




Page optimized by WP Minify WordPress Plugin