Condividi tramite


PermissionSet.PermitOnly Metodo

Definizione

Causa la non riuscita di tutti i metodi Demand() che attraversano il codice chiamante per un oggetto PermissionSet che non è un subset dell'oggetto PermissionSet corrente.

public:
 virtual void PermitOnly();
public void PermitOnly ();
public virtual void PermitOnly ();
abstract member PermitOnly : unit -> unit
override this.PermitOnly : unit -> unit
Public Sub PermitOnly ()
Public Overridable Sub PermitOnly ()

Implementazioni

Commenti

PermitOnly è simile a Deny, in che entrambi causano l'esito negativo delle passeggiate dello stack quando potrebbero altrimenti avere esito positivo. La differenza è che Deny specifica le autorizzazioni che causeranno l'esito negativo della procedura dettagliata dello stack, ma PermitOnly specifica le uniche autorizzazioni che non causano l'esito negativo della procedura dettagliata dello stack. Chiamare questo metodo per assicurarsi che il codice possa essere usato per accedere solo alle risorse specificate.

PermitOnly viene ignorato per un'autorizzazione non concessa perché una richiesta per tale autorizzazione non può essere completata. Tuttavia, se il codice è inferiore nello stack di chiamate in seguito chiama Demand tale autorizzazione, viene generato un SecurityException valore quando la procedura dello stack raggiunge il codice che ha tentato di chiamare PermitOnly. Questo è dovuto al fatto che il codice chiamato PermitOnly non è stato concesso all'autorizzazione, anche se ha chiamato PermitOnly per tale autorizzazione. Lo stack di chiamate è in genere rappresentato come in crescita, in modo che i metodi più elevati nei metodi di chiamata stack di chiamate siano inferiori nello stack di chiamate.

Si applica a