2008-09-25 72 views

回答

8

如果将Response.Buffer未设置为true,那么你会得到一个运行时错误。此外,如果在ASP页面上调用Flush方法,则服务器不会遵守该页面的Keep-Alive请求。

你也想看看,如果你正在使用基于表格的设计,直到整个表发送它不会在一些浏览器渲染..这意味着,如果你有10,000行,用户仍然会在实际看到它们之前需要等待所有10,000行传输。

+0

什么是保持活动的要求吗? – 2008-09-25 19:19:53

+1

您是否最近在Keep-Alive上测试了这些信息?根据我的经验,IIS只使用分块编码,不应该有任何需要关闭连接。 – AnthonyWJones 2008-09-26 16:51:50

6

扩大Wayne's answer:如果有什么你需要设置Response.Headers,你不能这样做响应的任何部分已被刷新后。

2

Response.flush可能是有用的,以发送到浏览器报告的标题..然后显示“加载消息”,则您的报告过程中,你刷新的报告,然后执行一小片JavaScript来隐藏“装载的“ 信息。

这样,您将让用户知道的东西是hapenning所以他们不会按STOP BACK或只需关闭窗口,因为他们可以以其它方式诱惑。

而且,我已经打了很多什么浏览器IE渲染似乎什么表,是除非收到的标签,不使一个表的唯一一个。这意味着所有行可能会逐渐出现在其他浏览器中,但不会在IE中显示。

3

没有与冲洗这样的反应没有问题。通常建议为了获得更好的性能来缓冲整个页面并将其刷新到客户端,但对于长时间运行的脚本,通常最好将一些数据显示给客户端,以便用户看到发生的事情。

一定要记得冲洗手动只有一个适当的缓冲作用从一开始页面时,否则IIS将自动刷新(流页面到客户端)。

你应该避免潮红常作为IIS便要对经常冲洗页面,而不是处理脚本中使用的资源。 I.e .:每50行刷新一次,而不是每行刷新一次。