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 obiekty 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 elementu Assertion.
Uwagi
Wywołanie powoduje zatrzymanie Assert sprawdzania uprawnień w obiektach 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ń, mogą nadal uzyskiwać dostęp do zasobów. Potwierdzenie jest skuteczne tylko wtedy, gdy kod wywołujący Assert przekazuje sprawdzanie zabezpieczeń dla uprawnienia, 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 elementu w celu Assert renderowania poprzedniej asercji jest nieskuteczne. RevertAssert Ponadto program usuwa RevertAll oczekujący Assertelement .
Assert Jest ignorowany dla uprawnienia, którego nie udzielono, ponieważ żądanie tego uprawnienia nie powiedzie się. Jeśli jednak kod niższy w stosie wywołań wywołuje Demand to uprawnienie, element jest zgłaszany, SecurityException gdy przewodnik stosu osiągnie kod, który próbował wywołać Assertmetodę . Dzieje się tak, ponieważ kod, który został wywołany Assert , nie otrzymał uprawnienia, mimo że próbował Assert .
Przestroga
Ponieważ wywołanie Assert usuwa wymaganie, aby wszystkie kod w łańcuchu wywołań otrzymały uprawnienia dostępu do określonego zasobu, może otworzyć luki w zabezpieczeniach, jeśli są używane nieprawidłowo lub niewłaściwie. Dlatego należy go używać z dużą ostrożnością.