0
我目前将通知从我的桌面C#WinForms应用程序推送到iOS设备。是否有可能采取相同的方式?例如从iOS设备发送通知到WinForms应用程序。使用Azure通知集线器推送到C#WinForms应用程序
如果不可能,让iOS应用程序执行某些任务的WinForms应用程序知道的最佳实践是什么。
谢谢!
我目前将通知从我的桌面C#WinForms应用程序推送到iOS设备。是否有可能采取相同的方式?例如从iOS设备发送通知到WinForms应用程序。使用Azure通知集线器推送到C#WinForms应用程序
如果不可能,让iOS应用程序执行某些任务的WinForms应用程序知道的最佳实践是什么。
谢谢!
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));
});
谢谢你的回复!这正是我正在寻找的! Howerver,我有一个小问题。发送消息需要很长时间(〜10秒)。我相信有一个问题,但我无法解决它。我正在使用你发布的代码。 – Omer
更新:我能够将服务总线包添加到Xamarin.iOS项目。但是,它没有任何作用。 TopicClient不被识别并且不接受任何使用语句。有任何想法吗? – Omer
Azure服务SDK不适用于Xamarin.iOS项目。请改用REST API。 [使用REST API发送消息](https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-to-queue) – Amor