gpt4 book ai didi

asp.net - ASP Response.Flush() 刷新部分数据

转载 作者:行者123 更新时间:2023-12-02 10:53:08 25 4
gpt4 key购买 nike

我正在开发一个带有 ASP 服务器端的 Web 应用程序,并使用 iframe 进行数据推送。

ASP 处理程序每​​隔一段时间就会将一些 javascript 刷新到 iframe:

context.Response.Write("<script language='javascript'>top.update('lala');</script>");
context.Response.Flush();

我的问题是,有时,当我收到数据时,我没有得到全文。例如我会收到这个:<script language='javascript'>update('lala');</不幸的是,如果下一秒左右没有其他数据到来,这会阻止 JavaScript 代码的执行。

我的一个解决方法是每 500 毫秒刷新一次线程“............”。 (然后我将收到 script>...... 这将完成我的 javascript。)

但是我确信一定有一种方法可以让 Response.Flush() 发送整个数据 block 。有人知道如何正确使用 Response.Flush() 吗?

谢谢!

查尔斯

最佳答案

我的一位同事解决了这个问题。 IIS 上启用了 Gzip 压缩,这会阻止 Web 浏览器获取完整的数据 block 。

解决方案包括:

禁用所有网站的压缩:

对于 IIS 5.1,请转到 Control Panel/Administrative Tools/Internet Information Services 。右键单击Web Sites ,点击properties并删除 ISAPI 过滤器 Compression .

对于 IIS 7,请转到 My Documents/IISExpress/config/applicationHost.config并更改部分 httpCompression这样您的特定页面就不会启用压缩。

仅针对您的网站禁用压缩:

web.config在您的应用程序文件中,添加行 <urlCompression doStaticCompression="true" doDynamicCompression="false"/><system.webServer>部分下.

对特定网页或特定请求禁用压缩

这些好人找到了一种方法:

Can gzip compression be selectively disabled in ASP.NET/IIS 7?

关于asp.net - ASP Response.Flush() 刷新部分数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11024580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com