Partilhar via


Windows Azure: mais dicas para a atualização da versão 1.0

Olá pessoal, tudo certo?

Continuando meus testes sobre a versão 1.0 do SDK do Windows Azure, segue aqui mais um post com dicas para atualização de seus projetos antigos:

1) Start() para Run()

O método principal de uma WorkerRole era Start(), como vemos abaixo:

    1: namespace Web_WorkerRole
    2: {
    3:     public class WorkerRole : RoleEntryPoint
    4:     {
    5:         public override void Start()
    6:         {

Ele deve ser mudado paraRun() para a atualização:

    1: namespace Web_WorkerRole
    2: {
    3:     public class WorkerRole : RoleEntryPoint
    4:     {
    5:         public override void Run()
    6:         {

2) Biblioteca StorageClient para projetos antigos

Como o Otávio comentou no post anterior, seus projetos antigos podem ser compilados com a biblioteca StorageClient, que acompanha o pacote Windows Azure Additional Samples, do link abaixo:

Windows Azure Samples (November 2009)
https://code.msdn.microsoft.com/windowsazuresamples/Release/ProjectReleases.aspx?ReleaseId=3526

image

Adicione esse projeto em sua solução, para que as classes sobre Blobs, Tables e Queues sejam reconhecidas mesmo com SDK de Novembro.

3) Novas bibliotecas Microsoft.WindowsAzure

Outra atualização importante é adicionar as novas bibliotecas do Windows Azure, como já comentado no post anterior:

    1: using Microsoft.WindowsAzure.Diagnostics;
    2: using Microsoft.WindowsAzure.ServiceRuntime;
    3: using Microsoft.WindowsAzure.StorageClient;

Desse modo, substituimos a biblioteca Microsoft.ServiceHosting.ServiceRuntime.dll pela nova Microsoft.WindowsAzure.ServiceRuntime.dll.

4) Nova classe RoleEnvironment

A classe RoleManager foi substituida pela nova classe RoleEnvironment. Assim, chamadas antigas em projetos como a seguir:

 if (RoleManager.IsRoleManagerRunning)

passam a usar o teste IsAvailable, como vemos a seguir:

 if (RoleEnvironment.IsAvailable)

O mesmo acontece para o método RoleManager.GetConfigurationSetting que foi agora substuido para o método RoleEnvironment.GetConfigurationSettingValue.

5) Tracing em WorkerRoler

Finalmente, vários projetos utilizavam a classe RoleManager para tracing, através do método WriteToLog.

No SDK v1.0, devemos substituir essa chamada pela chamada Trace.Write da biblioteca System.Diagnostics. Faça o using System.Diagnostics e utilize as chamadas:

    1: // Chamada anterior para a classe RoleManager.WriteToLog(..)
    2: // RoleManager.WriteToLog("Information", string.Format("Message '{0}'", "Picked up number from " + yourName));
    3:  
    4: // Substituir para using System.Diagnostics com a classe Trace.Write(..)
    5: Trace.Write("Information", string.Format("Message '{0}'", "Picked up number from " + yourName));
    6:  

Quem tiver ainda novas dicas para o pessoal, fique a vontade para usar o blog e comentários.

Por enquanto é só! Até o próximo post :)

Waldemir.