Sdílet prostřednictvím


SecurityContext.Run(SecurityContext, ContextCallback, Object) Metoda

Definice

Spustí zadanou metodu v zadaném kontextu zabezpečení v aktuálním vlákně.

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)

Parametry

securityContext
SecurityContext

Kontext zabezpečení, který se má nastavit.

callback
ContextCallback

Delegát, který představuje metodu, která se má spustit v zadaném kontextu zabezpečení.

state
Object

Objekt, který se má předat metodě zpětného volání.

Atributy

Výjimky

securityContext je null.

-nebo-

securityContext nebyla získána prostřednictvím operace zachycení.

-nebo-

securityContext již byl použit jako argument pro Run(SecurityContext, ContextCallback, Object) volání metody.

.NET 5+ (včetně .NET Core): Ve všech případech.

Příklady

Následující příklad kódu ukazuje, jak použít metodu Run ke spuštění metody v zadaném kontextu zabezpečení.

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

Poznámky

Kontext zabezpečení pro aktuální vlákno se vrátí do předchozího stavu po dokončení volání metody.

Platí pro