SharePointからファイルをダウンロードしようとしています。調べてみたところ、これがわかりましたが、バッファを使うとパフォーマンスが良くなるとのことです。
備考-ファイルはSPFileです
using (System.IO.Stream strm = file.OpenBinaryStream())
{
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead;
do
{
bytesRead = strm.Read(buffer, 0, BUFFER_SIZE);
response.OutputStream.Write(buffer, 0, bytesRead);
response.Flush();
} while (bytesRead > 0);
}
のように割り当てるとresponse.BinaryWrite(file.OpenBinary());
、ストリーム全体がstrmオブジェクトに格納されますか(RAMの消費を開始します)?ファイルが10MBであるとすると、このstrmはRAMで10 MBになりますか?
または、読み取りを開始するとメモリを消費し始めますか?bytesRead = strm.Read(buffer, 0, BUFFER_SIZE);