Azure Service Bus - Windows Phone 8.1

Windows Phone 8.1'den Azure'da bulunan Service Bus'daki bir queue'ya mesaj göndermek isteyebiliriz. Daha azınlıklı olarak mesajları almakta isteyebiliriz. Bunun için bir Worker Role, Web Role vs. yazıyor olsaydık, NuGet üzerinden WindowsAzure.ServiceBus download edip işimizi yapabilirdik. Ancak bu NuGet paketi Windows Phone 8.1'e uyumlu değil. Bunun yerine başka bir NuGet paketi indirmemiz gerekiyor.

   

Örneğin Queue ile nasıl mesaj alışverişi yapacağımıza bakalım.

  • Visual Studio Package Manager Console üzerinden Install-Package WindowsAzure.Messaging.Managed komutu ile projemize ekliyoruz.
  • Queue yaratmak ve silmek için aşağıdaki methodları kullanabiliriz.
    Microsoft.WindowsAzure.Messaging.Queue.CreateAsync();
    Microsoft.WindowsAzure.Messaging.Queue.DeleteAsync();
  • QueueClient nesnemizi yaratıyoruz.
    Microsoft.WindowsAzure.Messaging.Queue queueClient = 
    new Microsoft.WindowsAzure.Messaging.Queue("QueuePath",
     "Endpoint=sb://[namespace].servicebus.windows.net; 
    SharedSecretIssuer=owner;SharedSecretValue=someSecret");
    Mesaj Göndermek için SendAsync methodunu kullanıyoruz.

    await queueClient.SendAsync(new Microsoft.WindowsAzure.Messaging.Message("first message"));
    

       

  • Mesaj almak için ReceiveAsync methodunu kullanıyoruz.

    var result = await queueClient.ReceiveAsync();

   

  • Mesaj geldiğinde bir action'in çalışmasını istersek OnMessage methodunu kullanıyoruz.

    queueClient.OnMessage((message)=>{
                           //process message;
                       });

 

Benzer yöntem ile Topic / Subscription üzerinde mesaj göndermeniz ve almanız mümkün.

   

   

   

Yorum ekle

Loading