CodeAccessPermission.Deny Método

Definición

Precaución

Esta API está ya obsoleta.

Precaución

Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

public:
 virtual void Deny();
public:
 void Deny();
[System.Obsolete]
public void Deny ();
public void Deny ();
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public void Deny ();
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Deny ();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<System.Diagnostics.Conditional("FEATURE_MONO_CAS")>]
member this.Deny : unit -> unit
Public Sub Deny ()

Implementaciones

Atributos

Excepciones

Ya hay una Deny() activa para el marco actual.There is already an active Deny() for the current frame.

Comentarios

Importante

El Deny método solo debe usarse para proteger los recursos contra el acceso accidental por código de plena confianza.The Deny method should be used only to protect resources from accidental access by fully trusted code. No debe usarse para proteger los recursos de un uso incorrecto intencionado por parte de código que no es de confianza.It should not be used to protect resources from intentional misuse by untrusted code. Por ejemplo, si A el método emite un Deny para un permiso y, a continuación, llama al método B , B el método puede invalidar de forma abierta mediante la emisión de Deny un Assert .For example, if method A issues a Deny for a permission and then calls method B, method B can overtly override the Deny by issuing an Assert. El método al que se llama siempre está más arriba en la pila.The called method is always higher in the stack. Por lo tanto, si B el método intenta tener acceso a un recurso protegido, el sistema de seguridad comienza a comprobar los permisos con él porque B el método es el llamador inmediato y, a continuación, recorre la pila para confirmar que no hay ninguna o una posición Deny PermitOnly inferior en la pila.Therefore, if method B tries to access a protected resource, the security system begins checking for permissions with it because method B is the immediate caller, and then walks down the stack to confirm that there is no Deny or PermitOnly lower in the stack. El método B , que intenta tener acceso al recurso, puede detener el recorrido de la pila inmediatamente mediante el Assert método.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. En ese caso, Deny nunca se detecta la colocada en la pila mediante el método A (el método de llamada).In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

Este método evita que los llamadores situados más arriba en la pila de llamadas accedan al recurso protegido a través del código que llama a este método, incluso si se les ha concedido permiso de acceso a esos llamadores.This method prevents callers higher in the call stack from accessing the protected resource through the code that calls this method, even if those callers have been granted permission to access it. Normalmente, la pila de llamadas se representa como en constante crecimiento, de modo que los métodos situados más arriba en la pila de llamadas llamen a los métodos situados más abajo en la pila de llamadas.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack.

Deny puede limitar la responsabilidad del programador o ayudar a evitar problemas de seguridad accidentales, ya que ayuda a evitar que el método que llama Deny se use para tener acceso al recurso protegido por el Permiso denegado.Deny can limit the liability of the programmer or help prevent accidental security issues because it helps prevent the method that calls Deny from being used to access the resource protected by the denied permission. Si un método llama a Deny en un permiso, y si un Demand llamador de ese permiso se invoca en una parte inferior de la pila de llamadas, se producirá un error en esa comprobación de seguridad cuando llegue a Deny .If a method calls Deny on a permission, and if a Demand for that permission is invoked by a caller lower in the call stack, that security check will fail when it reaches the Deny.

La llamada a Deny es efectiva hasta que el código de llamada vuelve a su llamador.The call to Deny is effective until the calling code returns to its caller. Solo una Deny puede estar activa en un marco.Only one Deny can be active on a frame. Un intento de llamar a Deny cuando existe un activo Deny en el marco da como resultado un SecurityException .An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Llame a RevertDeny o RevertAll para quitar un activo Deny .Call RevertDeny or RevertAll to remove an active Deny. Deny se omite para un permiso no concedido porque una petición para ese permiso no se realizará correctamente.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

Notas a los desarrolladores de herederos

No se puede invalidar este método.You cannot override this method.

Se aplica a