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>
<html>
<head>
    <title>Index</title>
</head>
<body>
    <div>
        <h1>@Model[0]</h1>
        <h3>Por: @Model[1]</h3>
    </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