Comparteix a través de


SecurityContext.Run(SecurityContext, ContextCallback, Object) Método

Definición

Ejecuta el método especificado en el contexto de seguridad especificado del subproceso actual.

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)

Parámetros

securityContext
SecurityContext

Contexto de seguridad que se va a establecer.

callback
ContextCallback

Delegado que representa el método que se va a ejecutar en el contexto de seguridad especificado.

state
Object

Objeto que se pasa al método de devolución de llamada.

Atributos

Excepciones

securityContext es null.

o bien

securityContext no se adquirió a través de una operación de captura.

o bien

securityContext ya se ha utilizado como argumento de una llamada al método Run(SecurityContext, ContextCallback, Object).

.NET 5+ (incluido .NET Core): en todos los casos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar el Run método para ejecutar un método en un contexto de seguridad especificado.

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

Comentarios

El contexto de seguridad del subproceso actual se devuelve a su estado anterior cuando se completa la llamada al método.

Se aplica a