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
要傳遞至回呼 (Callback) 方法的物件。
- 屬性
例外狀況
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
備註
當方法呼叫完成時,目前線程的安全性內容會傳回其先前的狀態。