RSS feed
Executando uma aplicação ASP.NET MVC 3 em um servidor web que não tem a ASP.NET MVC 3 instalada - ScottGu's Blog em Português

Executando uma aplicação ASP.NET MVC 3 em um servidor web que não tem a ASP.NET MVC 3 instalada


Na semana passada, lançamos vários novos produtos web (em Inglês) - incluindo a ASP.NET MVC 3 (em Inglês). Nós tivemos excelentes retornos da comunidade e muitos downloads desde então.

Uma pergunta que algumas pessoas têm feito a mim recentemente é: "Meu provedor de hospedagem ainda não suporta a ASP.NET MVC 3 - alguma idéia de quando eles irão instalá-la?"

A boa notícia é que você não precisa esperar que eles instalem qualquer coisa em seus web-servers. Contanto que seu provedor de hospedagem web suporte o .NET 4, então você pode construir e implantar/instalar aplicações ASP.NET MVC 3 nele hoje mesmo - sem que o provedor de hospedagem tenha que fazer alguma coisa para habilitá-la. O post a seguir descreve como você pode ativar isso.

Algumas Informações

Nós suportamos duas maneiras para você instalar e usar os módulos (assemblies) que implementam a ASP.NET MVC 3 em uma máquina:

  1. Ter os assemblies da ASP.NET MVC 3 instalados em um lugar central em uma máquina, fazendo com que os projetos web referenciem/usem os assemblies a partir deste local.
  2. Copiar os assemblies da ASP.NET MVC 3 para a pasta \bin do seu projeto web, fazendo com que seu projeto web referencie/use os assemblies a partir deste local.

A primeira abordagem é a abordagem padrão que usamos com o Visual Studio, e tem a vantagem de nos permitir facilmente servir a ASP.NET MVC 3 usando o Windows Update (no caso de um bug ruim).

A segunda abordagem também é totalmente suportada e tem a vantagem de não exigir que a ASP.NET MVC 3 seja explicitamente instalada em uma máquina para que ela seja usada. Ao invés disso você pode simplesmente copiar/ftp sua aplicação web para um servidor (com os módulos da ASP.NET MVC contidos no diretório \bin da aplicação) e ela vai simplesmente funcionar. Você deve usar essa segunda abordagem se o seu provedor de hospedagem ainda não instalou explicitamente a ASP.NET MVC 3 em seus servidores.

Abordagem 1: Referenciando os Assemblies da ASP.NET MVC a partir do GAC

Quando você instala a ASP.NET MVC 3 em uma máquina, uma série de assemblies (módulos) são automaticamente registrados no GAC (global assembly cache - em Inglês), como parte do processo de instalação. O GAC oferece um lugar central onde os assemblies .NET podem ser instalados e servidos (através do Windows Update). Porque ele oferece uma maneira fácil para nós atualizarmos/fornecermos assemblies, projetos ASP.NET MVC - por padrão - referenciam os assemblies que implementam a ASP.NET MVC 3 a partir do GAC. 

Se você copiar um projeto ASP.NET MVC 3 - que utiliza a abordagem padrão de referenciar os assemblies do tempo de execução da ASP.NET MVC 3 usando o GAC - para uma máquina que não tenha tido a ASP.NET MVC 3 instalada, então você verá uma mensagem de erro como a mostrada a seguir quando você executar sua aplicação:

imagem

O erro acima indica que um dos assemblies necessários para executar a ASP.NET MVC 3 a partir do GAC não pode ser encontrado. Instalar a ASP.NET MVC 3 na máquina irá corrigir esse erro e permitirá que sua aplicação seja seja executada.

Abordagem 2: Referenciando os Assemblies da ASP.NET MVC a partir da pasta \Bin

A abordagem alternativa que seus projetos podem usar é distribuir e referenciar os assemblies do tempo de execução da ASP.NET MVC 3 a partir do diretório \bin da sua aplicação web. A vantagem dessa abordagem é que você não precisa instalar explicitamente a ASP.NET MVC 3 em uma máquina para executar sua aplicação web. Em vez disso, você pode simplesmente copiar/ftp sua aplicação web para um servidor .NET 4 existentes e ela irá funcionar. Essa abordagem funciona tanto para cenários "full trust" (confiança total) e "medium trust" (confiança mediana) - o que significa que sua aplicação irá funcionar até mesmo com serviços de hospedagem compartilhados de baixo custo. Nenhum registro/instalação/ação adicional é requerida pelo provedor de hospedagem para permitir isso.

Habilitar o seu projeto web para fazer a distribuição dos assemblies da ASP.NET MVC 3 através da pasta bin é fácil e só leva cerca de dois minutos para ser feito. Aqui estão os passos a serem seguidos (em Inglês):

Uma vez configurada para fazer a implantação com base na pasta \bin, uma aplicação que você criar com a ASP.NET MVC 3 vai funcionar em qualquer servidor web que tenha o .NET 4 instalado. Basta copiar/ftp para o servidor web e ela será executada. Você não precisa que o provedor de hospedagem faça qualquer coisa para habilitar isso - isso é verdadeiro mesmo para contas de servidores de hospedagem de baixo custo.  

Encontrando um Provedor de Hospedagem Web ASP.NET

Você pode navegar pela Galeria de Provedores de Hospedagem Windows (em Inglês) para encontrar bons Provedores de Hospedagem Windows baseados em ASP.NET (todos que suportam a ASP.NET 4):

imagem

A Galeria de Provedores de Hospedagem Windows permite que você filtre/navegue pelas ofertas de hospedagem por diferentes países e ofertas de nível de serviço. Ela também permite que você facilmente filtre por ofertas de "Hospedagem Compartilhada" (Shared Hosting), "Hospedagem Virtual" (Virtual Hosting) e "Hospedagem Dedicada" (Dedicated Hosting).

"Hospedagem Compartilhada" refere-se a uma oferta em que muitos clientes executam suas aplicações em um único servidor web e você não tem acesso de administrador no servidor remoto.

"Hospedagem Virtual" refere-se a uma oferta em que você possui sua própria imagem de máquina virtual em um servidor remoto - normalmente com direitos de admin no sistema operacional e acesso remoto ao servidor através de terminal de comando para gerenciá-lo.

"Hospedagem Dedicada" refere-se à oferta de um servidor físico completo, e também fornece tipicamente direitos de administração no SO e suporte remoto via terminal para ele.

Os preços para o hospedagem web baseada em Windows estão com custo bem reduzido, e começam a partir de apenas $2.75/mês (R$4,58 hoje) para uma oferta de hospedagem compartilhada e US $23/mês (R$38,34) para uma oferta de hospedagem virtual. Todas as ofertas acima são capazes de executar a ASP.NET MVC 3 usando a abordagem de instalação baseada na pasta \bin.

Resumo

Você pode implantar/instalar aplicações baseadas na ASP.NET MVC 3 em qualquer servidor web que tenha o .NET 4 ativado/instalado - sem ter que esperar o provedor de hospedagem instalar explicitamente a ASP.NET MVC 3 em seus servidores. Basta usar os passos acima (em Inglês) para converter seu projeto para usar o modelo de implantação dos assemblies da ASP.NET MVC 3 com base na pasta \bin, e então você pode copiar sua aplicação para qualquer servidor baseado no .NET 4 e ela vai simplesmente funcionar.

Espero que ajude,

Scott

PS Além do blog, eu também estou agora utilizando o Twitter para atualizações rápidas e para compartilhar links.Siga-me em: twitter.com/ScottGu

 

Texto traduzido do post original por Leniel Macaferi.

Published Wednesday, January 19, 2011 12:33 AM by Leniel Macaferi
Filed under: , ,

Comments

No Comments

Leave a Comment

(required) 
(required) 
(optional)
(required)