IIS(DMZ区域)中的本地错误[ERR_INVALID_RESPONSE]不是错误

时间:2014-11-21 03:24:18

标签: c# .net iis

我试着编写下载文件的代码。我测试了本地服务器没有错误, 但是生产服务器(我在DMZ区域)。 我收到如下错误。

消息错误

(可能暂时停止或可能已永久移动到新的网址。 错误代码:ERR_INVALID_RESPONSE)

                FileStream fs = null; 
                fs = File.Open(localPath, FileMode.Open); 
                byte[] btFile = new byte[fs.Length + 1]; 
                fs.Read(btFile, 0, Convert.ToInt32(fs.Length)); 
                fs.Close();  

                Response.AddHeader("Content-disposition", "attachment; filename=" + fileName); 
                Response.ContentType = "application/" + type; 

                Response.BinaryWrite(btFile); 
                Response.Flush(); 
                Response.Close(); 

我该怎么做才能修复它?请告诉我

谢谢

1 个答案:

答案 0 :(得分:0)

我在使用Entity Framework从数据库中检索数据时遇到了同样的错误( ERR_INVALID_RESPONSE )。在DEV服务器上它工作正常,但在UAT上它挂起并返回该错误。

事实证明,查询使用的是动态谓词,导致从IEnumerable而不是IQueryable调用过滤器方法。它在SQL事件探查器上可见。该查询试图将整个数据提取到内存中。将动态谓词转换为epression解决了这个问题。

通常,该错误是由服务器端的OutOfMemoryException引起的,并且由于数据库大小而未在DEV上发生。这可能是你的线索。