如何在MVC应用程序Razor视图上实现comet或反向ajax

本文关键字:comet 实现 ajax 视图 MVC 应用程序 Razor | 更新日期: 2023-09-27 18:26:09

我目前正在寻找一个关于从服务器向客户端发送数据的comet实现或反向Ajax的示例代码,目前使用MVC应用程序后端代码是c#和java脚本作为我的脚本/Jquery你能提供一个关于这件事的简单示例吗?我只需要在服务器上发送一个数据,它将在客户端接收。

如何在MVC应用程序Razor视图上实现comet或反向ajax

您可以使用SignalR来实现此功能,它比您尝试做的工作做得更好,因为它尝试首先使用Websockets。

SignalR

HTML 5传输

这些传输依赖于对HTML5的支持。如果客户端浏览器不支持HTML5标准,将使用较旧的传输。

WebSocket(如果服务器和浏览器都表示可以支持Websocket)。WebSocket是唯一一个建立客户端和服务器之间真正持久的双向连接。然而,WebSocket也有最严格的要求;是的仅在最新版本的Microsoft Internet中完全支持Explorer、Google Chrome和Mozilla Firefox,并且只有部分在Opera和Safari等其他浏览器中实现。服务器已发送事件,也称为EventSource(如果浏览器支持Server Sent事件,基本上是除Internet Explorer之外的所有浏览器。)彗星运输

以下传输基于Comet web应用程序模型,其中浏览器或其他客户端维护长期保持的HTTP请求,服务器可以在没有客户端的情况下使用它将数据推送到客户端

Forever Frame(仅适用于Internet Explorer)。Forever Frame创建隐藏IFrame,它向服务器上的端点发出请求未完成。然后,服务器不断将脚本发送到立即执行的客户端,提供单向实时从服务器到客户端的连接。从客户端到服务器的连接使用从服务器到客户端连接的单独连接,以及就像标准的HTML请求一样,每个请求都会创建一个新的连接需要发送的一段数据。Ajax长轮询。长轮询不创建持久连接,而是轮询服务器带有一个保持打开状态直到服务器响应的请求点连接关闭,并请求新连接立即这可能会在连接时引入一些延迟重置。

您可以检查这些:
Comet的前20个NuGet包http://nugetmusthaves.com/Tag/Comet
ASP.NET的Comet实现
https://pokein.codeplex.com/
使用ASP.NET创建Comet应用程序http://www.aaronlerch.com/blog/2007/07/08/creating-comet-applications-with-aspnet/
还有更多通过谷歌搜索。