IStackWalk.Assert Método

Definición

Confirma que el código de llamada puede acceder al recurso identificado por el objeto de permiso actual, incluso si a los autores de llamadas superiores de la pila no se les ha concedido permiso para acceder al recurso.

public:
 void Assert();
public void Assert();
abstract member Assert : unit -> unit
Public Sub Assert ()

Excepciones

El código de llamada no tiene Assertion.

Comentarios

La llamada Assert detiene la comprobación de permisos en los autores de llamadas más altos en la pila de llamadas. Por lo tanto, incluso si estos autores de llamadas no tienen los permisos necesarios, todavía pueden acceder a los recursos. Una aserción solo es efectiva si el código que llama Assert pasa la comprobación de seguridad para el permiso que está afirmando.

Una llamada a Assert es efectiva hasta que el código de llamada vuelve a su autor de llamada o hasta que una llamada posterior a Assert representa la aserción anterior ineficaz. Además, RevertAssert o RevertAll quita un objeto pendiente Assert.

Assert se omite para un permiso no concedido porque una demanda de ese permiso no se realizará correctamente. Sin embargo, si el código inferior en la pila de llamadas llama Demand a para ese permiso, se produce una SecurityException excepción cuando el recorrido de la pila alcanza el código que intentó llamar Asserta . Esto sucede porque el código al que se llamó Assert no se le ha concedido el permiso, aunque lo intentó Assert .

Caution

Dado que llamar Assert a quita el requisito de que se debe conceder permiso a todo el código de la cadena de llamadas para acceder al recurso especificado, puede abrir vulnerabilidades de seguridad si se usan incorrectamente o incorrectamente. Por lo tanto, debe utilizarse con mucha precaución.

Se aplica a

Consulte también