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:
 void Assert();
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Assert ();
member 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-aufrufsstapel wird in der Regel so dargestellt, dass Sie in der aufrufsstapel-Methode weiter unten aufgerufen werden.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Durch Assert Aufrufen von wird verhindert, dass ein Stapel Durchlauf, der in der Aufruf Stapel unten liegt, die Aufruf Stapel über dem Code, der diese Methode aufruft, überschreitet.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. Auch wenn Aufrufer in der Aufruf Listen-Datei nicht über die erforderlichen Berechtigungen für den Zugriff auf eine Ressource verfügen, können Sie Sie weiterhin über den Code, der diese Methode aufruft, auf die erforderliche Berechtigung zugreifen.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 Assert Code, der aufruft, die Sicherheitsüberprüfung für die Berechtigung übergibt, die Sie behauptet.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 ist wirksam, bis der aufrufende Code an seinen Aufrufer zurückgegeben wird.The call to Assert is effective until the calling code returns to its caller. Nur eine Assert kann auf einem Frame aktiv sein.Only one Assert can be active on a frame. Ein Versuch, aufzurufen Assert , wenn eine aktive Assert im Frame vorhanden ist, SecurityExceptionführt zu einer.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Ruft RevertAssert Assertoder RevertAll auf, um eine aktive zu entfernen.Call RevertAssert or RevertAll to remove an active Assert.

Assertwird für eine nicht erteilte Berechtigung ignoriert, da eine Anforderung für diese Berechtigung nicht erfolgreich ist.Assert is ignored for a permission not granted because a demand for that permission will not succeed. Wenn der Code jedoch auf der Aufruf Stapel Ebene weiter Demand unten für diese Berechtigung aufruft SecurityException , wird eine ausgelöst, wenn der Stapel Durchlauf den Code erreicht, Assertder versucht hat, aufzurufen.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 liegt daran, dass dem Code Assert , der aufrief, nicht die Berechtigung erteilt wurde, obwohl Assert er versucht hat, dies zu tun.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Achtung

Da durch Assert Aufrufen von die Anforderung entfernt wird, dass sämtlichen Code in der Aufruf Kette die Berechtigung für den Zugriff auf die angegebene Ressource erteilt werden muss, können Sicherheitsprobleme offengelegt werden, wenn Sie falsch oder unpassend verwendet werden.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. Daher sollte Sie mit großer Vorsicht verwendet werden.Therefore, it should be used with great caution.

Hinweise für Vererber

Diese Methode kann nicht überschrieben werden.You cannot override this method.

Sicherheit

SecurityPermission
Gibt an, dass aufgerufen Assert()werden kann.for the ability to call Assert(). Zugehörige Enumeration:AssertionAssociated enumeration: Assertion

Gilt für:

Siehe auch