IStackWalk.Assert 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í.
Tvrdí, že volající kód má přístup k prostředku identifikovaného aktuálním objektem oprávnění, i když volajícím vyšší v zásobníku nebyla udělena oprávnění pro přístup k prostředku.
public:
void Assert();
public void Assert();
abstract member Assert : unit -> unit
Public Sub Assert ()
Výjimky
Volající kód nemá Assertion.
Poznámky
Volání Assert zastaví kontrolu oprávnění u volajících ve vyšší části zásobníku volání. I když tito volající nemají požadovaná oprávnění, budou mít stále přístup k prostředkům. Kontrolní výraz je účinný pouze v případě, že kód, který volá Assert , předá kontrolu zabezpečení pro oprávnění, která provádí.
Volání Assert je účinné, dokud se volající kód nevrátí do volajícího nebo dokud následné volání Assert nevykreslí předchozí kontrolní výraz neefektivní. RevertAssert Nebo RevertAll odebere čekající Assert.
Assert je ignorován pro oprávnění, které není uděleno, protože požadavek na toto oprávnění nebude úspěšný. Pokud je však kód nižší v volání zásobníku Demand volání pro toto oprávnění, je vyvolán, SecurityException když zásobník chůze dosáhne kódu, který se pokusil volat Assert. K tomu dochází, protože kód, který volal Assert , nebyl udělen oprávnění, i když se ho pokusil Assert .
Caution
Vzhledem k tomu, že volání Assert odebere požadavek, že veškerý kód v řetězci volání musí být udělen oprávnění pro přístup k zadanému prostředku, může otevřít ohrožení zabezpečení, pokud se používá nesprávně nebo nevhodně. Proto by měla být použita s velkou opatrností.