16GBのRAMがインストールされた64ビットのWindows7マシン上の開発IISサーバー(VS2010 IDEから)で次の方法を実行しています。
public static MemoryStream copyStreamIntoMemoryStream(Stream stream)
{
long uiLen = stream.Length;
byte[] buff = new byte[0x8000];
int nSz;
MemoryStream ms = new MemoryStream();
try
{
while ((nSz = stream.Read(buff, 0, buff.Length)) != 0)
{
ms.Write(buff, 0, nSz);
}
}
finally
{
Debug.WriteLine("Alloc size=" + ms.Length);
}
return ms;
}
そして私はSystem.OutOfMemoryException
この行を取得します:
ms.Write(buff, 0, nSz);
これは、268435456バイトが割り当てられたときにスローされます。
割り当てサイズ=268435456
これは0x10000000または256MBです。それで、それを機能させるために設定する必要があるグローバル設定があるかどうか疑問に思っていますか?
プロジェクトの構成設定のスクリーンショットは次のとおりです。