Share via


IStackWalk.PermitOnly Metodo

Definizione

Causa un errore per ogni metodo Demand() che attraversa il codice chiamante per tutti gli oggetti ad eccezione dell'oggetto corrente, anche se al codice di livello superiore nello stack di chiamate è stata concessa l'autorizzazione per accedere ad altre risorse.

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

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 avrà esito positivo. 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