Share via


PermissionSet.Demand Metodo

Definizione

Forza un oggetto SecurityException in fase di esecuzione se a tutti i chiamanti nella parte superiore dello stack di chiamate non sono state concesse le autorizzazioni specificate dall'istanza corrente.

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

Implementazioni

Eccezioni

Uno dei chiamanti nella sequenza delle chiamate non ha l'autorizzazione richiesta.

Esempio

Nell'esempio di codice seguente viene illustrato l'uso del Demand metodo per richiedere tutte le autorizzazioni in un set di autorizzazioni. Questo esempio di codice fa parte di un esempio più ampio fornito per la PermissionSet classe .

// Demand all the permissions in the set.
Console::WriteLine( "Demand all permissions." );
ps1->Demand();
// Demand all the permissions in the set.
Console.WriteLine("Demand all permissions.");
ps1.Demand();
' Demand all the permissions in the set.
Console.WriteLine("Demand all permissions.")
ps1.Demand()

Commenti

Usare Demand in per PermissionSet assicurarsi che tutti i chiamanti dispongano di tutte le autorizzazioni nel set con un'unica operazione.

Le autorizzazioni del codice che chiama questo metodo non vengono esaminate; il controllo inizia dal chiamante immediato del codice e procede fino allo stack. Lo stack di chiamate viene in genere rappresentato come in aumento, in modo che i metodi più elevati nel metodo di chiamata dello stack di chiamate siano inferiori nello stack di chiamate. Demand ha esito positivo solo se non viene generata alcuna SecurityException eccezione.

Se contiene PermissionSet autorizzazioni che non ereditano da CodeAccessPermission, vengono chiamati anche i Demand metodi di tali autorizzazioni.

Si applica a