从web api到UWP app广播消息

时间:2018-02-01 11:15:08

标签: c# asp.net-web-api uwp signalr windows-applications

服务器将是.Net中的Web API,客户端是UWP app。数据库中存储了一些消息以及到期时间和deviceId.Each消息应该在到期时广播给设备。如何我们可以保持从Web API到UWP的持久连接吗?我们如何将消息广播到特定设备。提前感谢所有建议!

2 个答案:

答案 0 :(得分:1)

如果您要发信号(这将是一个很好的解决方案),我建议您阅读:

https://docs.microsoft.com/en-us/aspnet/signalr/overview/guide-to-the-api/hubs-api-guide-server

在服务器上简单创建一个集线器。然后,每个客户端都应连接到此集线器。建立连接后,您可以向两个方向发送消息。

以下是从服务器向客户端发送消息的一些可能性:

  • 向所有已连接的客户发送消息:

    Clients.All.addNewMessageToPage(name,message);

  • 致特定客户:

    Clients.Client(Context.ConnectionId).addContosoChatMessageToPage(姓名, 消息);

还有许多其他可能性,比如团体。

答案 1 :(得分:0)

您的方案的最佳解决方案是WebSockets。这些允许您在应用程序和API之间实现轻量级双向连接,并在它们之间发送数据。有关WebSockets的UWP实现的信息是here in documentation,而对于服务器端,您可以使用ASP.NET SignalR。