私は C# と ASP.NET MVC 3 を使用しています。現在、SQL Server から大量のデータを取得し、それを に追加してから、オブジェクトを配列 に変換するためにStringBuilder使用しています。System.Text.ASCIIEncodingStringBuilderbyte[]
byte[]次に、配列をビューに送信します。ただし、データ量が非常に多いため、次の例外が発生します。
タイプ 'System.OutOfMemoryException' の例外がスローされました
StringBuilderオブジェクトをビューに変換しbyte[]てからビューに戻すためにコントローラーで使用するコードを次に示します。最初にサーバーのメモリにすべてのデータをロードせずに、データベースからクライアント ブラウザに直接データをストリーミングする方法はありますか?
System.Text.ASCIIEncoding encoding = new ASCIIEncoding();
return File(encoding.GetBytes(csv.ToString()), "text/csv", "Query_Export.csv");