【问题标题】:stream large data to browser using ASP .net使用 ASP .net 将大数据流式传输到浏览器
【发布时间】:2011-05-05 06:11:12
【问题描述】:

我目前有一个用经典 asp 编写的网站,它针对 sql 运行多个查询,聚合查询,然后将它们推出以在 Web 浏览器上显示。 (不允许分页)问题是Web服务器在显示之前聚合了所有查询结果,即使是一个查询也会占用大量内存。经典 asp 的简单修复方法是从流中写入响应对象。

由于某种原因,我无法在 .net 中描绘等价物,而无需在某种类型的页面上提供服务。我通常绑定到列表视图等,这就是我可能被卡住的原因。因此,如果我有一个来自 sql 的数据读取器,我如何将该对象流式传输到浏览器以减少内存占用?我是否必须手动调用响应对象并写出?这似乎有点倒退。我想我只是错过了一些简单的东西。

谢谢。

添加:

所以我正在寻找的是如何逐步将数据从 sql 阅读器流式传输到 html 页面,以免浪费内存。这在 .net 中是否可行?

【问题讨论】:

    标签: asp.net sql streaming datareader


    【解决方案1】:

    是的,我不会看到这有什么问题。关闭页面缓冲,只使用 Response.Write

    【讨论】:

    • 还有其他方法吗?
    • 还有很多其他方法,但最好的方法取决于您要做什么。你能告诉我为什么 response.write 不适合你,以及你想使用的一般方式吗?
    • 我正在寻找除 response.write 之外的其他方式。我相信我的问题之一是它会破坏 asp .net 中的页面流程,因为它会在创建页面的其余部分之前或之后写入信息。
    • 您可以使用<%= someMethod() %>,这将使您的流程保持正常。您返回的数据有多大?
    • 我忘记了嵌入式代码块。我相信这会在渲染阶段结束时完美运行。数据的范围可以从 0 到 20,000 行,其中数据可以是 1 到 65k+ 个字符。如果您有任何其他想法,请告诉我。
    猜你喜欢
    • 2015-09-21
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2012-07-02
    相关资源
    最近更新 更多