Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

CodeAccessPermission.Assert-Methode: ()

 

Veröffentlicht: Oktober 2016

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. Die Verwendung von Assert kann zu Sicherheitsproblemen führen.

Namespace:   System.Security
Assembly:  mscorlib (in mscorlib.dll)

public void Assert()

Implementiert

IStackWalk.Assert()

Exception Condition
SecurityException

Der aufrufende Code verfügt nicht über SecurityPermissionFlag.Assertion.

- oder -

Es ist bereits eine aktive Assert für den aktuellen Frame vorhanden.

The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack. Calling M:System.Security.CodeAccessPermission.Assert prevents a stack walk originating lower in the call stack from proceeding up the call stack beyond the code that calls this method. 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. An assertion is effective only if the code that calls M:System.Security.CodeAccessPermission.Assert passes the security check for the permission that it is asserting.

The call to M:System.Security.CodeAccessPermission.Assert is effective until the calling code returns to its caller. Only one M:System.Security.CodeAccessPermission.Assert can be active on a frame. An attempt to call M:System.Security.CodeAccessPermission.Assert when an active M:System.Security.CodeAccessPermission.Assert exists on the frame results in a T:System.Security.SecurityException. Call M:System.Security.CodeAccessPermission.RevertAssert or M:System.Security.CodeAccessPermission.RevertAll to remove an active M:System.Security.CodeAccessPermission.Assert.

Assert is ignored for a permission not granted because a demand for that permission will not succeed. 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. This happens because the code that called Assert has not been granted the permission, even though it tried to Assert it.

System_CAPS_cautionAchtung

Because calling M:System.Security.CodeAccessPermission.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. Therefore, it should be used with great caution.

Hinweise für Vererber:

You cannot override this method.

SecurityPermission

for the ability to call M:System.Security.CodeAccessPermission.Assert. Associated enumeration: F:System.Security.Permissions.SecurityPermissionFlag.Assertion

.NET Framework
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen: