GC.EndNoGCRegion 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í.
Ukončí režim latence oblasti bez uvolňování paměti.
public:
static void EndNoGCRegion();
public static void EndNoGCRegion ();
[System.Security.SecurityCritical]
public static void EndNoGCRegion ();
static member EndNoGCRegion : unit -> unit
[<System.Security.SecurityCritical>]
static member EndNoGCRegion : unit -> unit
Public Shared Sub EndNoGCRegion ()
- Atributy
Výjimky
Systém uvolňování paměti není v žádném režimu latence oblasti uvolňování paměti.
-nebo-
Režim latence oblasti bez uvolňování paměti byl dříve ukončen, protože došlo k uvolnění paměti.
-nebo-
Přidělení paměti překročilo množství zadané ve volání TryStartNoGCRegion(Int64) metody .
Poznámky
Metoda EndNoGCRegion vyvolá výjimku , InvalidOperationException pokud systém uvolňování paměti není v režimu latence žádné oblasti uvolňování paměti. K tomu dochází za některé z následujících podmínek:
Metoda TryStartNoGCRegion nebyla volána dříve.
Volání metody vrátilo TryStartNoGCRegion
false
.Volání TryStartNoGCRegion metody vyvolalo výjimku.
Z jakéhokoli z těchto důvodů můžete zabránit výjimce pomocí kódu, jako je například následující:
if (GCSettings.LatencyMode == GCLatencyMode.NoGCRegion)
GC.EndNoGCRegion();
if GCSettings.LatencyMode = GCLatencyMode.NoGCRegion then
GC.EndNoGCRegion()
If GCSettings.LatencyMode = GCLatencyMode.NoGCRegion Then
GC.EndNoGCRegion()
End If