【问题标题】:Realtime SQL Results ASP.Net实时 SQL 结果 ASP.Net
【发布时间】:2011-09-25 22:44:24
【问题描述】:

我们正在开发一个基于 Web 的应用程序来对我们的数据库运行查询,因此我们的运维团队可以通过基于 Web 的界面执行查询,而不是登录到 sql server。

我是否可以像查询分析器中显示的那样实时显示大结果。我不能在这里使用分页,因为查询每次都会由用户编写。

谢谢

【问题讨论】:

  • 你的问题有点含糊,通过简单的ajax更新,你可以刷新很多会被认为是“实时”的东西
  • 不,我的意思是即使在 Ajax 中也是如此。如果您的查询返回 100000 个结果,则页面必须等待或显示进度。我的意思是显示到目前为止获取的结果,例如在查询分析器中
  • ASP.NET 是一个无状态、断开连接的系统,因此它不受满足最严格的“实时”定义所需的那种委托(或推送)模式的约束。浏览器必须轮询 Web 服务器以获取更新,更改可能不会被“推送”,所以问题是,“neartime”如何足够接近“realtime”以满足您的需求?
  • 我不明白你为什么不能使用分页?

标签: asp.net sql ajax pagination


【解决方案1】:

也许,您可以使用infinite scroll

【讨论】:

    【解决方案2】:

    是的,你可以 - 我想它可能会有点像这样:

    1. 用户提交查询
    2. 服务器执行查询并开始处理结果
    3. 当服务器读取了 N 行(例如 N = 100,000)时,服务器将这 N 行返回给客户端,并带有一个标志,表明还有更多的结果要来
    4. 客户端显示这些结果并提交另一个查询“请给我更多结果”
    5. 服务器继续从结果中读取行
    6. 从 3 开始重复,直到读取所有行。

    关键是为 N 选择一个合适的值 - 它越小,UI 的响应速度越快,但它越大,结果的整体传输速度就越快。

    【讨论】:

    • 嗨,我知道这是我必须做的吗?但需要一些技术信息?像使用任何类、方法一样?
    猜你喜欢
    • 2015-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2023-03-10
    • 2015-05-02
    • 1970-01-01
    相关资源
    最近更新 更多