UWP应用程序可以充当SignalR服务器吗?

时间:2016-11-10 15:12:15

标签: c# signalr uwp

我看到了一个使WPF应用成为SignalR服务器的代码示例:https://code.msdn.microsoft.com/Using-SignalR-in-WinForms-f1ec847b

我可以将我的UWP应用程序设为SignalR服务器吗?那么其他客户可以连接到在他们的设备上运行UWP应用程序的人吗?

我尝试将SignalR NuGet安装到我的UWP应用程序上,但是我收到了一个错误:

Install-Package : Microsoft.AspNet.SignalR.Core 2.2.1 is not compatible with UAP,Version=v10.0.


At line:1 char:1
+ Install-Package Microsoft.AspNet.SignalR.SelfHost
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

我也在考虑将SignalR服务器作为服务运行,然后将UWP应用程序连接到它并将其他客户端连接到服务。那会有用吗?

1 个答案:

答案 0 :(得分:1)

SignalR使用UWP上没有的服务器API,所以我怀疑这会起作用,尽管我没有更详细地研究它。

但是,无论如何,UWP应用程序的工作方式通常都不是一个好主意。例如,当它们不在前台时它们会被挂起,这应该永远不会发生在任何服务器上。你绝对不能依赖它永久可用。您是否有特定原因考虑过UWP应用程序?

因此,通过使用(Windows?)服务来托管SignalR并将UWP应用程序(以及可能的其他UWP应用程序)连接到它的方法是更好的,实际上是正确的方法。另一个选择是在IIS或任何您喜欢的Web服务器而不是Windows服务中托管Web应用程序,因为处理比在Windows服务中自托管Web服务要容易一些。