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