SecurityContext.Run(SecurityContext, ContextCallback, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在当前线程上指定的安全上下文中运行指定的方法。
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
注解
当方法调用完成时,当前线程的安全上下文将返回到其以前的状态。