CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert CodeAccessPermission.Assert Method

Definition

Deklariert, dass der aufrufende Code auf die durch eine Berechtigungsforderung geschützte Ressource über den diese Methode aufrufenden Code zugreifen kann, auch wenn Aufrufern einer höheren Ebene im Stapel keine Berechtigung zum Zugreifen auf die Ressource erteilt wurde.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Die Verwendung von Assert() kann zu Sicherheitsproblemen führen.Using Assert() can create security issues.

public:
 virtual void Assert();
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Assert ();
abstract member Assert : unit -> unit
override this.Assert : unit -> unit
Public Sub Assert ()

Implementiert

Ausnahmen

Der aufrufende Code verfügt nicht über Assertion.The calling code does not have Assertion.

- oder --or- Es ist bereits eine aktive Assert() für den aktuellen Frame vorhanden.There is already an active Assert() for the current frame.

Hinweise

Die Aufrufliste wird in der Regel als absteigend, dargestellt, sodass Methoden, die in der Aufrufliste höher Methoden in der Aufrufliste niedrigere aufrufen.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Aufrufen von Assert wird verhindert, dass einen Stackwalk von niedriger in der Aufrufliste aus der Aufrufliste über den Code, der diese Methode aufruft.Calling Assert prevents a stack walk originating lower in the call stack from proceeding up the call stack beyond the code that calls this method. Aus diesem Grund, selbst wenn Aufrufern einer höheren Ebene in der Aufrufliste nicht über die erforderlichen Berechtigungen zum Zugriff auf eine Ressource verfügen, können sie weiterhin über den Code darauf zugreifen, die diese Methode für die erforderliche Berechtigung aufruft.Therefore, even if callers higher on the call stack do not have the requisite permissions to access a resource, they can still access it through the code that calls this method on the necessary permission. Eine Assertion ist nur wirksam, wenn der Code aufruft Assert übergibt die sicherheitsüberprüfung für die Berechtigung, die sie übergeben wird.An assertion is effective only if the code that calls Assert passes the security check for the permission that it is asserting.

Der Aufruf von Assert bleibt wirksam, bis der aufrufende Code an den Aufrufer zurückgibt.The call to Assert is effective until the calling code returns to its caller. Nur ein Assert kann auf einen Rahmen aktiv sein.Only one Assert can be active on a frame. Ein Versuch des Aufrufs Assert bei einer aktiven Assert vorhanden ist, auf die Ergebnisse der Frame in einer SecurityException.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Rufen Sie RevertAssert oder RevertAll So entfernen Sie ein aktives Assert.Call RevertAssert or RevertAll to remove an active Assert.

Assert wird für eine Berechtigung nicht erteilt werden, da eine Anforderung für diese Berechtigung nicht fehlschlagen wird ignoriert.Assert is ignored for a permission not granted because a demand for that permission will not succeed. Aber wenn Code weiter unten auf der Aufrufliste aufgerufen Demand für diese Berechtigung, eine SecurityException wird ausgelöst, wenn der Stapeldurchlauf der Code erreicht wird, die zum Aufrufen Assert.However, if code lower on the call stack calls Demand for that permission, a SecurityException is thrown when the stack walk reaches the code that tried to call Assert. Dies geschieht, weil der Code, der aufgerufen Assert nicht wurde die Berechtigung erteilt hat, auch wenn sie versucht haben, zu Assert es.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Achtung

Da Aufrufen Assert entfernt die Anforderung, dass der gesamte code in der Aufrufkette Berechtigung erteilt werden, auf die angegebene Ressource zuzugreifen, können Sie Sicherheitsprobleme bei falsch oder nicht ordnungsgemäß verwendet.Because calling Assert removes the requirement that all code in the call chain must be granted permission to access the specified resource, it can open up security issues if used incorrectly or inappropriately. Aus diesem Grund sollten sie mit großer Vorsicht verwendet werden.Therefore, it should be used with great caution.

Hinweise für Vererber

Sie können nicht auf diese Methode überschreiben.You cannot override this method.

Sicherheit

SecurityPermission
für die Möglichkeit zum Aufruf Assert().for the ability to call Assert(). Zugeordnete Enumeration: AssertionAssociated enumeration: Assertion

Gilt für:

Siehe auch