CodeAccessPermission.Assert Methode

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

Attribute

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 das Aufrufen von Assert wird verhindert, dass ein Stapel Durchlauf, der in der Aufruf Stapel niedriger ist, die Aufruf Stapel über den Code hinaus, 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. 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 Code, der aufruft Assert die Sicherheitsüberprüfung für die Berechtigung übergibt, die Sie bestätigt.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 wird 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 ein Assert kann auf einem Frame aktiv sein.Only one Assert can be active on a frame. Der Versuch, Assert aufzurufen, wenn eine aktive Assert im Frame vorhanden ist, führt zu einem SecurityException.An attempt to call Assert when an active Assert exists on the frame results in a SecurityException. Ruft RevertAssert oder RevertAll auf, um eine aktive Assertzu entfernen.Call RevertAssert or RevertAll to remove an active Assert.

Assert wird 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, der sich in der Aufruf Stapel befindet, jedoch Demand für diese Berechtigung aufruft, wird eine SecurityException ausgelöst, wenn der Stapel Durchlauf den Code erreicht, der versucht hat, Assertaufzurufen.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, der Assert aufgerufen hat, nicht die Berechtigung erteilt wurde, obwohl er versucht hat, ihn zu Assert.This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

Achtung

Da durch das Aufrufen von Assert die Anforderung entfernt wird, dass sämtlichen Code in der Aufruf Kette die Berechtigung zum 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
die Möglichkeit, Assert()aufzurufen.for the ability to call Assert(). Zugehörige Enumeration: AssertionAssociated enumeration: Assertion

Gilt für:

Siehe auch