OutOfMemoryException beim Auffüllen MemoryStream: 256 MB Belegung auf 16 GB system

Ich bin mit der folgenden Methode auf meine Entwicklung IIS-server (von VS2010 IDE) auf einem 64-bit-Windows-7-Rechner mit 16GB RAM:

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;
}

und ich bekomme die System.OutOfMemoryException auf dieser Linie:

ms.Write(buff, 0, nSz);

Geworfen wird, wenn 268435456 bytes zugeteilt:

Alloc Größe=268435456

ist 0x10000000 oder 256 MB. So Frage ich mich, ob es eine Globale Einstellung, die ich brauche, damit es funktioniert?

Hier ist ein screenshot von der Konfigurations-Einstellung für das Projekt:
OutOfMemoryException beim Auffüllen MemoryStream: 256 MB Belegung auf 16 GB system

InformationsquelleAutor der Frage c00000fd | 2013-03-24

Schreibe einen Kommentar