ASP.Netを使用して、データベースのVARBINARY(MAX)フィールドに格納されている画像データを提供しようとしています。現在、コードはデータテーブルを埋めてから、バイト配列をDataRowから引き出し、バイト配列を応答にプッシュしています。これらの巨大なバイト配列をマーシャリングすることなく、SQL Serverから応答にデータを多かれ少なかれストリーミングする方法があるかどうか疑問に思っています(画像が大きいため、OutOfMemoryExceptionsが発生します)。そのためのクラス/メカニズムはありますか?
現在のコードは多かれ少なかれ次のようになります。
DataTable table = new DataTable();
SqlDataAdapter adapter = new SqlDataAdapter(commandText, connectionString);
adapter.Fill(table);
DataRow row = table.Rows[0];
byte[] imageData = row[0] as byte[];
if(imageData != null)
{
Response.Clear();
Response.BinaryWrite(imageData);
Response.End();
}
事前に感謝します-どんな助けでもありがたいです。