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:
- 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.
- 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:
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):
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.