Compartir a través de


IStackWalk.Assert Método

Definición

Afirma que el código de llamada puede tener acceso al recurso identificado por el objeto de permiso actual, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso 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 arriba 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 la 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 llamó Assert no se ha concedido el permiso, aunque lo intentó Assert .

Precaución

Dado que la llamada Assert 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 de forma incorrecta o inapropiada. Por lo tanto, debe utilizarse con mucha precaución.

Se aplica a

Consulte también