2016-11-10 57 views
0

我看到了一個使WPF應用成爲SignalR服務器的代碼示例:https://code.msdn.microsoft.com/Using-SignalR-in-WinForms-f1ec847bUWP應用程序可以充當SignalR服務器嗎?

我可以讓我的UWP應用成爲SignalR服務器嗎?以便其他客戶可以連接到在其設備上運行UWP應用程序的人員?

我嘗試了我的UWP應用程序安裝SignalR的NuGet,但我得到了一個錯誤:

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應用程序連接到它,連接其他客戶端到服務。這會工作嗎?

回答

0

SignalR使用UWP上不可用的服務器API,所以我懷疑這會工作,儘管我沒有更詳細地查看它。

但是,無論如何,UWP應用程序的工作方式通常不是一個好主意。例如,當它們不在前臺時它們會被暫停,而這絕不會發生在任何服務器上。你絕對不能依賴它永久使用。你有沒有一個特定的原因,你認爲這是一個UWP應用程序?

因此,通過使用(Windows?)服務來託管SignalR並將UWP應用程序(和可能的其他UWP應用程序)連接到它的方法是更好的,實際上是正確的方法。另一種選擇是在IIS或任何您喜歡的Web服務器上託管Web應用程序而不是Windows服務,因爲處理比在Windows服務中託管Web服務容易一些。

+0

UWP應用程序可以在Raspberry Pi的前臺運行,直到pi被關閉,所以這是有效的用例。 –

+0

@StuartSmith我仍然不會推薦它,如果OP會有這樣一個特殊用例,我想他會提到它。但這就是我問他是否有這樣一個特殊用例的原因。 –

相關問題