MemoryFailPoint(Int32) MemoryFailPoint(Int32) MemoryFailPoint(Int32) MemoryFailPoint(Int32) Constructor

Definition

Initialisiert eine neue Instanz der MemoryFailPoint-Klasse und gibt die zur erfolgreichen Ausführung erforderlichen Arbeitsspeichergröße an.Initializes a new instance of the MemoryFailPoint class, specifying the amount of memory required for successful execution.

public:
 MemoryFailPoint(int sizeInMegabytes);
[System.Security.SecurityCritical]
public MemoryFailPoint (int sizeInMegabytes);
new System.Runtime.MemoryFailPoint : int -> System.Runtime.MemoryFailPoint
Public Sub New (sizeInMegabytes As Integer)

Parameter

sizeInMegabytes
Int32 Int32 Int32 Int32

Die erforderliche Arbeitsspeichergröße in Megabyte.The required memory size, in megabytes. Dieser Wert muss positiv sein.This must be a positive value.

Ausnahmen

Die angegebene Arbeitsspeichergröße ist negativ.The specified memory size is negative.

Es ist nicht ausreichend Arbeitsspeicher vorhanden, um die Ausführung des durch das Gate geschützten Codes zu starten.There is insufficient memory to begin execution of the code protected by the gate.

Beispiele

Im folgende Beispiel wird veranschaulicht, wie die Größe des Arbeitsspeichers zu ermitteln, die eine Methode erforderlich, beim Ausführen ist.The following example demonstrates how to determine the amount of memory a method requires when executing. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die MemoryFailPoint Klasse.This code example is part of a larger example provided for the MemoryFailPoint class.

private static int EstimateMemoryUsageInMB()
{
    int memUsageInMB = 0;

    long memBefore = GC.GetTotalMemory(true);
    int numGen0Collections = GC.CollectionCount(0);
    // Execute a test version of the method to estimate memory requirements.
    // This test method only exists to determine the memory requirements.
    ThreadMethod();
    // Includes garbage generated by the worker function.
    long memAfter = GC.GetTotalMemory(false);
    // If a garbage collection occurs during the measuring, you might need a greater memory requirement.
    Console.WriteLine("Did a GC occur while measuring?  {0}", numGen0Collections == GC.CollectionCount(0));
    // Set the field used as the parameter for the MemoryFailPoint constructor.
    long memUsage = (memAfter - memBefore);
    if (memUsage < 0)
    {
        Console.WriteLine("GC's occurred while measuring memory usage.  Try measuring again.");
        memUsage = 1 << 20;
    }

    // Round up to the nearest MB.
    memUsageInMB = (int)(1 + (memUsage >> 20));
    Console.WriteLine("Memory usage estimate: {0} bytes, rounded to {1} MB", memUsage, memUsageInMB);
    return memUsageInMB;
}

Hinweise

Die Menge an Arbeitsspeicher, die von Ihrer Anwendung genutzt werden, um eine Arbeitsaufgabe verarbeiten kann empirisch ermittelt werden.The amount of memory used by your application to process a work item can be determined empirically. Um die Menge an Arbeitsspeicher zu schätzen Ihre Anwendung eine Anforderung zu verarbeiten muss, erwägen Sie die Verwendung der GC.GetTotalMemory Methode, um zu bestimmen, die Menge an Arbeitsspeicher verfügbar ist, bevor und nachdem das Arbeitselement Aufrufen der Methode, die verarbeitet werden.To estimate the amount of memory your application needs to process a request, consider using the GC.GetTotalMemory method to determine the amount of memory available before and after calling the method that processes the work item. Finden Sie unter den MemoryFailPoint -Klasse für ein Codebeispiel, das den Wert für dynamisch bestimmt die sizeInMegabytes Parameter.See the MemoryFailPoint class for a code example that dynamically determines the value for the sizeInMegabytes parameter.

Sicherheit

SecurityCriticalAttribute
erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer.requires full trust for the immediate caller. Dieser Member kann nicht von teilweise vertrauenswürdigem oder transparentem Code verwendet werden.This member cannot be used by partially trusted or transparent code.

Gilt für: