IStackWalk.Assert Metoda

Definice

Prokaže, že volající kód má přístup k prostředku určenému aktuálním objektem oprávnění, i když volajícím vyšším v zásobníku nebylo uděleno 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 vyšších v zásobníku volání. Proto i v případě, že tito volající nemají požadovaná oprávnění, mají stále přístup k prostředkům. Kontrolní výraz je účinný pouze v případě, že kód, který volá , projde bezpečnostní kontrolu Assert oprávnění, které prosadí.

Volání metody je účinné, dokud se volající kód nevrátí volajícímu nebo dokud následné volání metody nevykreslí předchozí kontrolní výraz jako neefektivní. Assert Assert Nebo RevertAssert odebere RevertAll nevyřízené Assert položky .

Assert se ignoruje pro oprávnění, které není uděleno, protože požadavek na toto oprávnění nebude úspěšný. Pokud však pro toto oprávnění volá nižší kód v zásobníku volání , je vyvolána výjimka , když vás zásobník dosáhne kódu, který se Demand SecurityException pokusil volat Assert metodu . K tomu dochází, protože kód, který volal , Assert nemá udělené oprávnění, i když se o to Assert pokusil.

Upozornění

Protože volání odebere požadavek, aby měl veškerý kód v řetězu volání udělené oprávnění pro přístup k zadanému prostředku, může otevřít ohrožení zabezpečení, pokud se použije nesprávně nebo Assert nesprávně. Proto by se měl používat s velkou opatrností.

Platí pro

Viz také