Auf Englisch lesen

Teilen über


RuntimeHelpers.ProbeForSufficientStack Methode

Definition

Achtung

The Constrained Execution Region (CER) feature is not supported.

Führt eine Überprüfung auf eine bestimmte Menge an Stapelspeicher durch, um sicherzustellen, dass in einem nachfolgenden Codeblock kein Stapelüberlauf auftreten kann (vorausgesetzt, dass der Code selbst nur eine begrenzte und mittlere Menge an Stapelspeicher belegt). Es wird empfohlen, anstelle dieser Methode einen eingeschränkten Ausführungsbereich (CER) zu verwenden.

C#
[System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void ProbeForSufficientStack();
C#
[System.Security.SecurityCritical]
public static void ProbeForSufficientStack();
C#
public static void ProbeForSufficientStack();
Attribute

Hinweise

Diese Methode wird von der CER-Infrastruktur (Eingeschränkte Ausführungsregion) verwendet, wenn sie auf Hosts ausgeführt wird, die gegenüber Stapelüberlauf resilient sind, z. B. Microsoft SQL Server und Microsoft Exchange Server. Diese Methode prüft derzeit 48 KB Stapelspeicher auf der x86-Plattform, aber die genaue Menge kann sich im Laufe der Zeit ändern und kann auf anderen Plattformen variieren.

Diese Methode wird auch von Compilern verwendet.

Anstatt die ProbeForSufficientStack -Methode zu verwenden, sollten Sie eine Standard-CER verwenden. Das heißt, wenn Sie planen, eine moderate Menge an Stapelspeicherplatz zu verwenden, rufen Sie die RuntimeHelpers.PrepareConstrainedRegions -Methode direkt vor Ihrem odercatchtry/Block try/finally auf. Wenn Sie eine rekursive Methode aufrufen oder planen, viel Stapelspeicherplatz zu verwenden, müssen Sie die RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup -Methode verwenden.

Gilt für:

Produkt Versionen (Veraltet)
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1 (5, 6, 7, 8, 9)
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1