Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

Windows Azure: rodando ASP.NET MVC 3


No post anterior vimos como é muito simples criar e executar uma aplicação ASP.NET MVC no Windows Azure.O ponto é que até o momento só está disponível um role para o ASP.NET MVC 2.

Criando a solution

Para criar uma aplicação utilizando o ASP.NET MVC 3 é também bastante simples. Tudo que precisamos fazer é criar um projeto Azure que pode ser criado sem nenhum role, como vemos abaixo:Solution Azure sem nenhum role

Depois vamos criar nesta solution um projeto ASP.NET MVC 3, normalmente:Solution Azure com projeto ASP.NET MVC 3

Configurando o ASP.NET MVC 3 como um Web Role

Agora precisamos fazer com que nosso projeto ASP.NET MVC 3 se torne um Web Role do Windows Azure. Isso é extremamente simples.Precisamos adicionar algumas referências do Windows Azure no projeto ASP.NET MVC 3:Adicionando referencias do Azure no projeto ASP.NET MVC 3

Além de adicionar estas referências precisamos criar uma classe que herde de RoleEntryPoint para sinalizar que este projeto é um Web Role. Esta classe é bastante simples e pode ser criada com o seguinte código:

using Microsoft.WindowsAzure.ServiceRuntime;
    namespace SiteMVC3{    

public class WebRole : RoleEntryPoint    {        

public override bool OnStart()        {            // For information on handling configuration changes            // see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
return base.OnStart();
    }
    }
}

Pronto! Vamos então adicionar nossa aplicação como um Web Role no projeto Azure:Agora vamos criar um controller e uma view utilizando Razor!

using System.Web.Mvc;
    namespace SiteMVC3.Controllers{    

public class HomeController : Controller    {        

public ActionResult Index()        {            return View(new[] { "ASP.NET MVC 3 no Windows Azure", "Vinicius Quaiato" }
);
    }
    }
}

E a View:

@model string[]<!DOCTYPE html SYSTEM><html><head>    <title>Index</title></head><body>    <div>        # @Model[0]
        

### Por: @Model[1]
    </div></body></html>

Referenciando o Web Role

Agora basta incluir a aplicação ASP.NET MVC 3 como sendo um Web Role no projeto Azure:Adicionando projeto ASP.NET MVC 3 como Web Role no Azure

Selecionando projeto ASP.NET MVC 3 como Web Role no Azure

Projeto ASP.NET MVC 3 configurado como Web Role no Azure

Executando

É tudo bastante simples! E funciona normalmente, assim como se estivéssemos utilizando o ASP.NET MVC 2 Web Roles.Aplicação ASP.NET MVC 3 rodando no Azure

É isso galera, no próximo post falarei um pouco sobre as "armadilhas" de rodar aplicações web no Azure e depois sobre as configurações de uma aplicação no Azure.Importante!Para fazer o deploy do ASP.NET MVC 3 marque as dll's abaixo para serem copiadas para o diretório de output(copy local = true):- System.WebPages.dll - System.Web.WebPages.Razor.dll - System.Web.Helpers.dll - System.Web.Razor.dll - WebMatrix.Data.dll - Microsoft.Web.Infrastructure.dll E também System.Web.MVC versão 3.0.0.0.Estas Dll's podem ser encontradas em: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies.Veja mais aqui.

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub