我在Windows2008服务器上的IIS7.5中的c# .aspx页面中有一个简单的导出网格视图到csv函数,它已经工作了很长一段时间。我最近将这个站点迁移到了一个新的windows 2016服务器应用程序服务器,托管在IIS 10.0上,并且代码库是相同的。然而,在新的服务器上,导出的数据现在也包含了来自父页面的所有html。我已经检查了IIS配置中是否存在*.csv的mimetype。
供参考的代码片段:
var stream = new MemoryStream();
_report.ToFile(stream);
byte[] bytes = stream.ToArray();
stream.Flush();
stream.Close();
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + Guid.NewGuid().ToString() + ".csv");
HttpContext.Current.Response.AddHeader("Content-Length", bytes.Length.ToString());
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.BinaryWrite(bytes);
只是为了确认一下,唯一的变化是站点运行的位置,代码库没有变化。
发布于 2021-03-12 09:30:17
结束响应: HttpContext.Current.Response.End();谢谢大家!有趣的是,当在IIS 7.5上运行相同的代码时,响应不需要结束,页面标记就不会包含在csv导出中??!!
https://stackoverflow.com/questions/66491757
复制相似问题