SecurityContext.Run(SecurityContext, ContextCallback, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет указанный метод в указанном контексте безопасности в текущем потоке.
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)
Параметры
- securityContext
- SecurityContext
Задаваемый контекст безопасности.
- callback
- ContextCallback
Делегат, представляющий метод, выполняемый в указанном контексте безопасности.
- state
- Object
Данный объект передается в метод обратного вызова.
- Атрибуты
Исключения
securityContext
имеет значение null
.
-или-
securityContext
не был получен во время операции отслеживания.
-или-
Объект securityContext
уже использовался в качестве аргумента в вызове метода Run(SecurityContext, ContextCallback, Object).
.NET 5+ (включая .NET Core): во всех случаях.
Примеры
В следующем примере кода показано, как использовать Run метод для выполнения метода в указанном контексте безопасности.
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
Комментарии
Контекст безопасности для текущего потока возвращается в предыдущее состояние после завершения вызова метода.