设置为false时,ASP.net response.buffer不起作用

时间:2012-12-05 18:03:09

标签: asp.net iis windows-server-2008

从IIS 6升级到IIS 7后,我在Web浏览器中收到以下错误(Safari和其他浏览器中的类似错误):“无法解码原始数据”。通过更改:

临时修复此错误
response.buffer = false

response.buffer = true

我需要将其设置为“false”,以便在生成文件时显示文件,而不是一次性显示文件(在相当长的时间之后)。

我已经尝试在ApplicationHost.config文件中增加bufferingLimit,但是当response.buffer设置为“false”时,我仍然会收到此错误。有谁知道这个问题可能来自哪里?

1 个答案:

答案 0 :(得分:1)

是的,这个问题是真的,我也遇到过这种问题,但无法想出办法。 'Response.Buffer = false'不起作用的原因是Microsoft在其后期版本IIS中修改了他们的代码,即IIS 5.0-7.5,在这些版本的IIS中,Response.Buffer通过义务处理true。所以这是IIS的误报设置,无论你设置缓冲区OFF还是buffer.limit = 0.我认为微软搞砸客户端是因为他们希望客户购买他们最新的软件。 Response.buffer = false可以使Web应用程序更强大,因此他们确实希望您在旧应用程序中使用它。所以,让我们说这是商业伎俩。