2017-09-18 24 views
0

我目前將通知從我的桌面C#WinForms應用程序推送到iOS設備。是否有可能採取相同的方式?例如從iOS設備發送通知到WinForms應用程序。使用Azure通知集線器推送到C#WinForms應用程序

如果不可能,讓iOS應用程序執行某些任務的WinForms應用程序知道的最佳實踐是什麼。

謝謝!

回答

0

Azure通知中心通常用於移動設備。對於Winforms應用程序,我建議你使用Azure Service Bus主題服務。

在您的IOS方面,您可以將消息發送到主題。

var connectionString = "<your connection string>"; 
var topicName = "<your topic name>"; 

var client = TopicClient.CreateFromConnectionString(connectionString, topicName); 
var message = new BrokeredMessage("This is a test message!"); 

client.Send(message); 

在Winform方面,您可以訂閱主題並接收來自主題的消息。收到消息後,您可以在Winform應用程序中執行任何您想要的操作。

var connectionString = "<your connection string>"; 
var topicName = "<your topic name>"; 

var client = SubscriptionClient.CreateFromConnectionString(connectionString, topicName, "<your subscription name>"); 
client.OnMessage(message => 
{ 
    Console.WriteLine(String.Format("Message body: {0}", message.GetBody<String>())); 
    Console.WriteLine(String.Format("Message id: {0}", message.MessageId)); 
}); 
+0

謝謝你的回覆!這正是我正在尋找的! Howerver,我有一個小問題。發送消息需要很長時間(〜10秒)。我相信有一個問題,但我無法解決它。我正在使用你發佈的代碼。 – Omer

+0

更新:我能夠將服務總線包添加到Xamarin.iOS項目。但是,它沒有任何作用。 TopicClient不被識別並且不接受任何使用語句。有任何想法嗎? – Omer

+0

Azure服務SDK不適用於Xamarin.iOS項目。請改用REST API。 [使用REST API發送消息](https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-to-queue) – Amor

相關問題