我正在使用 C# 和 ASP.NET MVC 3。目前,我正在从 SQL Server 获取大量数据,将其添加到StringBuilder
中,然后使用System.Text.ASCIIEncoding
将StringBuilder
对象转换为byte[]
数组。
然后我将byte[]
数组发送到视图。但是,数据量如此之大,我得到以下异常:
引发了“System.OutOfMemoryException”类型的异常
这是我在控制器中用于将StringBuilder
对象转换为byte[]
然后返回视图的代码。有没有办法将数据直接从数据库流式传输到客户端浏览器,而无需先将其全部加载到服务器的内存中?
System.Text.ASCIIEncoding encoding = new ASCIIEncoding();
return File(encoding.GetBytes(csv.ToString()), "text/csv", "Query_Export.csv");