RuntimeHelpers.ProbeForSufficientStack Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Upozornění
The Constrained Execution Region (CER) feature is not supported.
Testuje určité množství prostoru zásobníku, aby se zajistilo, že k přetečení zásobníku nemůže dojít v následujícím bloku kódu (za předpokladu, že váš kód používá pouze konečný a střední prostor zásobníku). Místo této metody doporučujeme použít oblast omezeného provádění (CER).
public:
static void ProbeForSufficientStack();
[System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static void ProbeForSufficientStack ();
[System.Security.SecurityCritical]
public static void ProbeForSufficientStack ();
public static void ProbeForSufficientStack ();
[<System.Obsolete("The Constrained Execution Region (CER) feature is not supported.", DiagnosticId="SYSLIB0004", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member ProbeForSufficientStack : unit -> unit
[<System.Security.SecurityCritical>]
static member ProbeForSufficientStack : unit -> unit
static member ProbeForSufficientStack : unit -> unit
Public Shared Sub ProbeForSufficientStack ()
- Atributy
Poznámky
Tuto metodu používá infrastruktura oblasti omezeného spouštění (CER) při spuštění v hostitelích, kteří jsou odolní vůči přetečení zásobníku, jako je Microsoft SQL Server a Microsoft Exchange Server. Tato metoda v současné době testuje 48 kB prostoru zásobníku na platformě x86, ale přesné množství se může v průběhu času měnit a může se lišit na jiných platformách.
Tuto metodu používají také kompilátory.
Místo metody ProbeForSufficientStack byste měli použít standardní cer. To znamená, že pokud plánujete použít mírný prostor zásobníku, zavolejte metodu RuntimeHelpers.PrepareConstrainedRegions bezprostředně před blokemfinally
/try
nebo .try
/catch
Pokud voláte rekurzivní metodu nebo plánujete použití velkého místa v zásobníku, musíte použít metodu RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup .