Condividi tramite


SecurityContext.Run(SecurityContext, ContextCallback, Object) Metodo

Definizione

Esegue il metodo specificato nel contesto di sicurezza specificato per il thread corrente.

public:
 static void Run(System::Security::SecurityContext ^ securityContext, System::Threading::ContextCallback ^ callback, System::Object ^ state);
public static void Run (System.Security.SecurityContext securityContext, System.Threading.ContextCallback callback, object state);
[System.Security.SecurityCritical]
public static void Run (System.Security.SecurityContext securityContext, System.Threading.ContextCallback callback, object state);
static member Run : System.Security.SecurityContext * System.Threading.ContextCallback * obj -> unit
[<System.Security.SecurityCritical>]
static member Run : System.Security.SecurityContext * System.Threading.ContextCallback * obj -> unit
Public Shared Sub Run (securityContext As SecurityContext, callback As ContextCallback, state As Object)

Parametri

securityContext
SecurityContext

Contesto di sicurezza da impostare.

callback
ContextCallback

Delegato che rappresenta il metodo da eseguire nel contesto di sicurezza specificato.

state
Object

Oggetto da passare al metodo di callback.

Attributi

Eccezioni

securityContext è null.

-oppure- securityContext non è stato acquisito tramite un'operazione di acquisizione.

-oppure- securityContext è stato già utilizzato come argomento in una chiamata al metodo Run(SecurityContext, ContextCallback, Object).

.NET 5+ (incluso .NET Core): in tutti i casi.

Esempio

Nell'esempio di codice seguente viene illustrato come usare il Run metodo per eseguire un metodo in un contesto di sicurezza specificato.

using System;
using System.Security;
using System.Threading;

class Test
{
    static void Main()
    {
        SecurityContext.Run(SecurityContext.Capture(), 
            new ContextCallback(Callback), "Hello world.");
    }
    static void Callback(object o)
    {
        Console.WriteLine(o);
    }
}
Imports System.Security
Imports System.Threading



Class Test
    
    Shared Sub Main() 
        Dim cCallBack As New ContextCallback(AddressOf Callback)
        SecurityContext.Run(SecurityContext.Capture(), cCallBack, "Hello world.")
    End Sub
    
    Shared Sub Callback(ByVal o As Object) 
        Console.WriteLine(o)
    
    End Sub
End Class

Commenti

Il contesto di sicurezza per il thread corrente viene restituito allo stato precedente al termine della chiamata al metodo.

Si applica a