如何在ASP.NET MVC中应用长轮询技术?

Sel*_*enç 7 c# asp.net-mvc long-polling asp.net-mvc-4 signalr

我搜索了很多关于轮询技术但我找不到任何关于如何在asp.net mvc中应用这种技术的内容.有很多文章和文档,但大多数关于PHP和ajax.

我希望在两个地方使用这个技术和我的项目,一个是像twitter这样的推文系统,另一个是聊天系统.我很好奇在MVC中应用这种技术的最佳方法是什么?我必须使用SignalR吗?这是最好的选择吗?

如果你能给我一些样品或文件,那就太好了,谢谢!

小智 9

如果您想将数据从服务器推送到客户端,SignalR绝对是您的选择.我尝试使用不太好的支持和开发的库一次这样做,我得到它的工作,但从我所见的SignalR示例,它比我做的更容易.开始阅读asp.net上的文档和示例代码,这是相对简单的.

这是一篇关于代码项目的文章,它向您展示了实现服务器到客户端推送所需的代码量.

http://www.codeproject.com/Articles/524066/SignalR-Simple-Chat-Application-in-Csharp

这是因为通信建立的所有繁重工作都是由.Net服务器上的SignalR API和JavaScript中的客户端完成的.

  • 您可以通过添加链接来改善您的答案.也许你也可以提供一些关于它为什么要走的信息. (3认同)

Roy*_*tus 5

“最佳”解决方案是什么,有待讨论,本论坛不讨论这个问题。

如果您想要做的是真正的点对点通信,SignalR 不会这样做——它旨在将数据从服务器推送到客户端,并从服务器到客户端进行远程过程调用 (RPC) .

如果您想要的是通过作为中央集线器的服务器进行 n 路通信,那么 SignalR 肯定是要走的路。它是经过验证的技术,并得到了 Microsoft 的全力支持。

Microsoft 已发布有关使用 SignalR 2.0 的教程 ( http://www.asp.net/signalr/overview/signalr-20/getting-started-with-signalr-20/tutorial-getting-started-with-signalr-20 ) 实现聊天应用程序。