【问题标题】:What is the most efficient way to populate a table填充表格的最有效方法是什么
【发布时间】:2013-11-22 01:17:51
【问题描述】:

我正在寻找将数据输入 HTML 表的最快方法。我正在使用 MVC3,并且有一个表在几台客户端计算机上每隔几秒更新一次。

我需要知道的是在该表上获取最新服务器数据的最快方法是什么。

目前,我们只是进行 ajax 调用,每次都返回一个局部视图。该部分视图仅包含该表。以 JSON 格式返回数据并清除表格并将 JSON 直接附加到表格中是否有任何优势?

我查看了 signalr,但我们的设备在不久的将来可能不会与 websocket 兼容,因此无法真正看到使用它的优势。

如果做不到这一点 - 任何人都可以就如何做到这一点提供任何其他观点吗?

【问题讨论】:

    标签: jquery ajax asp.net-mvc-3 asp.net-mvc-4 signalr


    【解决方案1】:

    使用SignalR 仅向客户端推送所需的更改。

    ASP.NET SignalR 是一个面向 ASP.NET 开发人员的新库,它使得它 为您的网站添加实时网络功能非常简单 应用程序。什么是“实时网络”功能?这是能力 让您的服务器端代码将内容推送到连接的客户端 它会实时发生。

    您可能听说过 WebSockets,这是一种新的 HTML5 API,它支持 浏览器和服务器之间的双向通信。信号R 当它可用时,将在幕后使用 WebSockets,并且 优雅地回退到其他技术和技术时 不是,而您的应用程序代码保持不变。

    SignalR 还提供了一个非常简单的高级 API 来做服务器 到客户端 RPC(在客户端浏览器中调用 JavaScript 函数 来自服务器端 .NET 代码)在您的 ASP.NET 应用程序中,以及 为连接管理添加有用的钩子,例如连接/断开 事件、分组连接、授权。

    【讨论】:

    • 我可以使用我拥有的所有 server 2003 和 windows xp 机器来解决这个问题吗?它会减少目前正在进行的持续民意调查吗?
    • SignalR 使用各种技术来传输数据,这取决于浏览器支持的内容。它应该对你有用 - SignalR 在服务器上几乎没有听到。
    • 您将永远无法使用该服务器设置获得 websocket。 SignalR 将回退到 SSE、永久帧和长轮询。
    【解决方案2】:

    你说你的设备不支持websockets。你说的是服务器端还是客户端?

    我们正在使用 2003 和 2008 的服务器,并将 SignalR 用于 xsockets.net。 Xsockets 在所有平台上都支持 websockets。框架在 .NET 4.0 上运行,并且与 Mono 兼容。

    如果您没有 2012 服务器(或 win8)和 .NET 4.5 + IIS8,您将无法使用 SignalR 获得 websockets :( 但如果您的应用程序不需要速度,它仍然是一个不错的选择。

    在我们的案例中,即使在 2003 年、2008 年的服务器上,我们也需要速度,因此选择了 Xsockets。

    这里有一个很好的比较表:http://xsockets.net/xsockets-vs-signalr

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-12
      • 2018-10-30
      • 2021-07-27
      • 2010-11-20
      • 1970-01-01
      • 2015-12-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多