Assert (Método)

CodeAccessPermission.Assert (Método)

Declara que el código de llamada puede tener acceso al recurso protegido mediante una petición de permiso a través del código que llama a este método, aunque los llamadores que se encuentran en una posición superior de la pila no dispongan de permiso de acceso al recurso. La utilización de Assert puede crear problemas de seguridad.

Espacio de nombres: System.Security
Ensamblado: mscorlib (en mscorlib.dll)

public void Assert ()
public final void Assert ()
public final function Assert ()

Tipo de excepciónCondición

SecurityException

El código de llamada no tiene SecurityPermissionFlag.Assertion.

O bien,

Ya hay un método Assert activo para el marco actual.

La pila de llamadas suele representarse de forma decreciente, por lo que los métodos que se encuentran en las posiciones superiores de la pila de llamadas, llaman a métodos de las posiciones inferiores. Al llamar a Assert se evita que un recorrido de pila que se origina en la parte inferior ascienda por la pila de llamadas por encima del código que llama a este método. Por consiguiente, incluso si los llamadores situados en la parte superior de la pila de llamadas no tienen permisos para tener acceso a un recurso, aún pueden obtener acceso a través del código que llama a este método en el permiso necesario. Una aserción es efectiva sólo si el código que llama a Assert supera la comprobación de seguridad correspondiente al permiso del que realiza una aserción.

La llamada a Assert es eficaz hasta que el código de llamada vuelve al llamador. Sólo puede haber un método Assert activo en cada marco. Un intento de llamar a Assert cuando hay otro método Assert activo en el marco da como resultado SecurityException. Se llama a RevertAssert o a RevertAll para quitar un método Assert activo.

Se omite el método Assert para un permiso no concedido, ya que no se realizará correctamente ninguna demanda para ese permiso. No obstante, si código situado más abajo en la pila de llamadas llama al método Demand para ese permiso, se producirá una excepción SecurityException cuando el recorrido por la pila alcance el código que intentó llamar a Assert. Esto sucede porque el código que llamó a Assert no dispone del permiso, aunque intentó realizar una aserción Assert.

Nota de precauciónPrecaución

Al llamar a Assert desaparece el requisito de que todo el código de la cadena de llamadas deba disponer de permiso para obtener acceso al recurso especificado, lo cual puede provocar problemas de seguridad si se utiliza incorrecta o inapropiadamente. Por ello, es preciso que se utilice con gran precaución.

Notas para los herederos No se puede reemplazar este método.

  • SecurityPermission  para la capacidad de llamar a Assert. Enumeración asociada: SecurityPermissionFlag.Assertion.

Windows 98, Windows 2000 SP4, Windows Millennium, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

Adiciones de comunidad

AGREGAR
Mostrar:
© 2016 Microsoft