我试图在做一些冗长的工作之前向客户发送一些内容:
Response.Write("Processing...");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
在 Firefox 中,它按预期工作,但在 IE8、Safari 和 Chrome 中,它会等待所有代码处理完毕,然后显示整个文本。
我尝试发送一个格式更好的 HTML,如下面的示例,但我得到了相同的结果:
Response.Write("<html><head><title>test</title></head><body>Processing...</body></html>");
Response.Flush();
System.Threading.Thread.Sleep(5000);
Response.Write("Finish");
Response.End();
谢谢你!
另外,请注意,如果您的 IIS 服务器使用 GZIP 压缩输出,那么它似乎会忽略所有Response.Flush
calls.
此功能在 IIS7 和 Windows 7 中默认打开。
而且,如果您使用 Fiddler 进行测试,请务必打开“流”模式,否则 Fiddler 将收集刷新的 HTML 并保留它,直到连接完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)