SharePoint에서 파일을 다운로드하려고합니다. 약간의 연구를 한 후에, 나는 이것을 얻었고 우리가 버퍼를 사용한다면 성능면에서 더 좋을 것이라고 말한다.스트림에 대한 혼동
비고 - 파일은 우리가 (RAM을 소모 시작) STRM 객체의 전체 스트림을 받고, response.BinaryWrite(file.OpenBinary());
같이 지정되면 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);
}
입니까? 파일이 10MB라고 가정하면이 strm은 RAM에서 10MB가됩니까?
아니면 우리가 독서를 시작하면 메모리를 소비하기 시작할 것입니까? bytesRead = strm.Read(buffer, 0, BUFFER_SIZE);
> 답변 해 주셔서 감사합니다. 만약 내가 직접 ** response.BinaryWrite (file.OpenBinary()); ** 반복 대신? 그것은 메모리 문제가있을 것인가? – kevin
@kevin 루프를 사용하지 않으려면 CopyTo를 사용하십시오. –