SecurityContext.Run(SecurityContext, ContextCallback, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.