0

我记得前段时间我在导出到 Excel 时遇到了类似的问题,我没有增加超时时间,而是以某种方式设置了一些东西,以便在向用户呈现文件之前不要等到所有内容都写入内存,这处理了大量的数据超时问题。

我不确定我的解释是否正确,但如果有人知道如何做到这一点,我将非常感谢您的帮助。

现在我有以下内容:

 docDataSet = m_DataAccess.GetDataSet(adhocSQL)
           response.Clear()
                        response.ContentType = "application/vnd.ms-word"
                        response.AddHeader("Content-Disposition", "attachment; filename=MyFile.doc")
 For Each dr As DataRow In docDataSet.Tables(0).Rows
'lots of rows and columns here
response.Write(dr("lotsofdatahere"))
next
     response.Charset = ""
                        response.End()
4

2 回答 2

0

据我所知,您只是简单地响应。写入一些数据并让浏览器打开 Word。

我要做的一些事情是首先确定有多少数据进入浏览器,这样你就可以告诉浏览器正在下载的文件有多大。这有助于它确定剩余时间等。

然后在 X 次 response.write 迭代后执行response.Flush();. 通过这种方式,数据会从 Web 服务器的内存中刷新并实际写回客户端。

于 2013-08-28T15:52:29.770 回答
-1

我认为最好的解决方案是使用报告服务,这会更容易..

于 2013-08-28T15:56:07.393 回答