将SignalR用于桌面应用程序是否正确?

本文关键字:是否 应用程序 SignalR 用于 桌面 | 更新日期: 2023-09-27 18:01:30

SignalR适用于windows桌面应用程序(winforms/wpf)吗?

在windows桌面应用程序中使用SignalR的优缺点是什么?

是否有性能方面的考虑?

我想在服务器和很多客户端之间建立实时连接。连接将保持不变。

将SignalR用于桌面应用程序是否正确?

SignalR适用于windows桌面应用程序(winforms/wpf)吗?

signalr.net的答案是:

SignalR可以用来添加任何类型的实时"web功能到您的ASP。网络应用程序。

(正如其他人所说,它可以自托管,因此不需要IIS)

所以答案似乎是。它是一个服务器端API。但是今天是你的幸运日,因为SignalR的下载不仅揭示了服务器端API,还有一个名为Microsoft.AspNet.SignalR.Client45的客户端API,可以在你的应用程序中使用。它适用于WPF, WF甚至控制台应用程序。

即使它没有,SignalR也只是WebSockets协议的包装,它是HTTP协议的一部分,几乎可以在任何平台上使用。下载中还包含一个iOS和Xamarin的示例。

在windows桌面应用程序中使用SignalR的优缺点是什么?

向服务器发送和发送实时通知。

是否存在性能问题?

这是一个很难回答的问题,因为没有参考点。相比之下,表现是好是坏?一般来说,我认为你不必太担心那件事。API本身是快速的,它可以防止你需要做其他缓慢的拉取请求。

在任何客户端应用程序中使用SinglarR hub都是绝对正确的,WPF、windows phone、UWP、iOS、Android,包括HTML。微软已经在许多平台上创建了客户端库。

说到托管SignalR,那么你绝对可以将你的SignalR服务器(hub)托管在WPF应用程序中,但你需要一个理由:

原因可能是:

  • IIS不可用
  • 你事先不知道APP会在哪里被使用。你只需要运行一个应用程序,它会通知其他应用程序
  • 性能- IIS增加了一些性能开销。

顺便说一下,SignalR和OWIN是新ASP的灵感来源。净5。现在您可以托管您的ASP了。. NET应用程序在WPF,控制台应用程序或windows服务应用程序中没有IIS,甚至在Linux上。

http://www.asp.net/signalr/overview/deployment/tutorial-signalr-self-host

在一个服务器和许多客户端的设置中:如果你需要从服务器"推送"通知到一些客户端,那么SignalR是很好的选择。

当你建立一个带有signalr功能的网站时,你有一个signalr服务器,网站托管在那里,还有一个signalr客户端,在浏览网站的web浏览器中运行的javascript客户端。

从令人难忘的年代开始,web浏览器过去是(现在仍然是)……好吧,…桌面应用程序…

所以你有桌面应用程序(web浏览器)使用SignalR连接到一个网站(web服务器)。

所以,不仅在桌面应用程序中使用signalR是正确的,而且这就是它的意义所在。如果signalR不在桌面应用程序中使用,我真的不知道它的用途是什么,因为,坦率地说,用户坐在桌面(或智能设备)前面,并且不存在"在云中"(除非您是Matrix中的Neo)。使用signalR,您可以在桌面环境(web浏览器或其他桌面应用程序,例如控制家中灯光的应用程序,或在打印机上打印东西的应用程序)中获得来自服务器的"实时"反应。

相关文章: