IStackWalk.Assert Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Potwierdza, że kod wywołujący może uzyskać dostęp do zasobu zidentyfikowany przez bieżący obiekt uprawnień, nawet jeśli osoby wywołujące wyższe w stosie nie otrzymały uprawnień dostępu do zasobu.
public:
void Assert();
public void Assert();
abstract member Assert : unit -> unit
Public Sub Assert ()
Wyjątki
Kod wywołujący nie ma Assertionelementu .
Uwagi
Wywołanie Assert zatrzymuje sprawdzanie uprawnień dla osób wywołujących wyżej w stosie wywołań. W związku z tym nawet jeśli te osoby wywołujące nie mają wymaganych uprawnień, nadal mogą uzyskiwać dostęp do zasobów. Potwierdzenie jest skuteczne tylko wtedy, gdy kod, który wywołuje Assert sprawdzanie zabezpieczeń, pod kątem uprawnień, które jest potwierdzane.
Wywołanie metody Assert jest skuteczne, dopóki kod wywołujący nie powróci do jego obiektu wywołującego lub do momentu, aż kolejne wywołanie Assert do renderowania poprzedniej asercji jest nieskuteczne. RevertAssert Ponadto lub RevertAll usuwa oczekujące Assertwartości .
Assert Jest ignorowany dla uprawnienia, które nie udzielono, ponieważ żądanie dla tego uprawnienia nie powiedzie się. Jeśli jednak kod niższy w stosie wywołań wywołuje Demand to uprawnienie, element zostanie zgłoszony, SecurityException gdy przewodnik stosu osiągnie kod, który próbował wywołać metodę Assert. Dzieje się tak, ponieważ kod, którego wywołano Assert , nie otrzymał uprawnienia, mimo że próbował Assert .
Caution
Ponieważ wywołanie Assert usuwa wymaganie, aby cały kod w łańcuchu wywołań otrzymał uprawnienie dostępu do określonego zasobu, może otworzyć luki w zabezpieczeniach, jeśli są używane niepoprawnie lub niewłaściwie. W związku z tym należy go używać z dużą ostrożnością.