CodeAccessPermission.Deny Metodo

Definizione

Attenzione

Questa API è ora obsoleta.

Attenzione

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.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.

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 ()

Implementazioni

Attributi

Eccezioni

Esiste già un oggetto Deny() attivo per il fotogramma corrente.

Commenti

Importante

Il Deny metodo deve essere usato solo per proteggere le risorse dall'accesso accidentale da parte di codice completamente attendibile. Non deve essere usato per proteggere le risorse da un uso improprio intenzionale da parte di codice non attendibile. Ad esempio, se il metodo emette un oggetto per un'autorizzazione e quindi chiama il metodo , il metodo può eseguire in modo esplicito l'override di A Deny B B Deny emettendo un oggetto Assert . Il metodo chiamato è sempre più in alto nello stack. Pertanto, se il metodo tenta di accedere a una risorsa protetta, il sistema di sicurezza inizia il controllo delle autorizzazioni con tale risorsa perché il metodo è il chiamante immediato e quindi scende nello stack per verificare che non sia presente o meno nello B B Deny PermitOnly stack. Il B metodo , che sta tentando di accedere alla risorsa, può arrestare immediatamente l'analisi dello stack usando il metodo Assert . In tal caso, Deny l'oggetto inserito nello stack per metodo A (metodo chiamante) non viene mai individuato.

Questo metodo impedisce ai chiamanti più in alto nello stack di chiamate di accedere alla risorsa protetta tramite il codice che chiama questo metodo, anche se a tali chiamanti è stata concessa l'autorizzazione per accedervi. Lo stack di chiamate viene in genere rappresentato come in aumento verso il basso, in modo che i metodi più in alto nello stack di chiamate chiamino i metodi più in basso nello stack di chiamate.

Deny può limitare la responsabilità del programmatore o contribuire a evitare problemi di sicurezza accidentali perché consente di impedire l'uso del metodo che chiama per accedere alla risorsa protetta Deny dall'autorizzazione negata. Se un metodo chiama su un'autorizzazione e se un oggetto per tale autorizzazione viene richiamato da un chiamante in una parte inferiore dello stack di chiamate, il controllo di sicurezza avrà esito negativo quando Deny Demand raggiunge Deny .

La chiamata a Deny è effettiva fino a quando il codice chiamante non torna al chiamante. Solo uno Deny può essere attivo in un frame. Un tentativo di chiamare Deny quando esiste un oggetto attivo nel frame comporta Deny un'operazione SecurityException . Chiamare RevertDeny o per rimuovere un oggetto RevertAll Deny attivo. Deny viene ignorato per un'autorizzazione non concessa perché una richiesta di tale autorizzazione non avrà esito positivo.

Note per gli eredi

Non è possibile eseguire l'override di questo metodo.

Si applica a