【发布时间】:2014-08-25 06:59:17
【问题描述】:
我知道,ASP.NET Web API 是为创建 restful APIS 而设计的,而 SignalR 是为实时通信而设计的。所以它们不是相互竞争的技术。
想象一下:您正在创建一个客户端/服务器应用程序,您正在编写一个桌面客户端,它将连接到服务器以运行一些操作。操作由客户端启动,而不是由服务器启动,因此它们都可以工作。
如果这是一个内部应用程序,并且您没有公开 API,为什么要使用 Asp.Net Web Api 而不是 SignalR?
在这两种方法中,服务器中的方法都会在客户端调用它们时运行。在 Web Api 中作为控制器中的操作,在集线器中的信号 R 中。两者都允许您向方法发送参数,并在客户端获取结果。
知道 SignalR 中的流量比 Web Api 中的流量要低一点(因为在 websocket 中,HTTP 连接是永久建立的,而不是为每个请求创建的),我会选择 SignalR。我错过了什么吗?
【问题讨论】:
-
关于 SignalR 的较低流量,只是指出默认情况下 SignalR 每 10 秒通过连接发送保持活动消息,所以我不确定这是否是 SignalR 的好标准.
-
在对这个问题给出的所有答案中,我会说你选择了最没用的一个作为接受的答案
标签: c# asp.net-mvc asp.net-web-api websocket signalr