Freigeben über


SecurityContext.Run(SecurityContext, ContextCallback, Object) Methode

Definition

Führt die angegebene Methode im angegebenen Sicherheitskontext für den aktuellen Thread aus.

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)

Parameter

securityContext
SecurityContext

The Sicherheitskontext, der festgelegt werden soll.

callback
ContextCallback

Der Delegat, der die Methode darstellt, die im angegebenen Sicherheitskontext ausgeführt werden soll.

state
Object

Das Objekt, das an die Rückrufmethode übergeben werden soll.

Attribute

Ausnahmen

securityContext ist null.

- oder -

securityContext wurde nicht durch einen Aufzeichnungsvorgang ermittelt.

- oder -

securityContext wurde bereits als Argument für einen Aufruf der Run(SecurityContext, ContextCallback, Object)-Methode verwendet.

.NET 5+ (einschließlich .NET Core): In allen Fällen.

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie die Run -Methode verwenden, um eine Methode in einem angegebenen Sicherheitskontext auszuführen.

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

Hinweise

Der Sicherheitskontext für den aktuellen Thread wird in den vorherigen Zustand zurückgegeben, wenn der Methodenaufruf abgeschlossen ist.

Gilt für: