SecurityContext.SuppressFlow メソッド

定義

複数の非同期スレッド間におけるセキュリティ コンテキストのフローを中止します。

public:
 static System::Threading::AsyncFlowControl SuppressFlow();
public static System.Threading.AsyncFlowControl SuppressFlow ();
[System.Security.SecurityCritical]
public static System.Threading.AsyncFlowControl SuppressFlow ();
static member SuppressFlow : unit -> System.Threading.AsyncFlowControl
[<System.Security.SecurityCritical>]
static member SuppressFlow : unit -> System.Threading.AsyncFlowControl
Public Shared Function SuppressFlow () As AsyncFlowControl

戻り値

AsyncFlowControl

フローを復元するための AsyncFlowControl 構造体。

属性

例外

.NET 5 以降 (.NET Core を含む): すべての場合。

注釈

非同期操作の現在のスレッド上の情報フロー SecurityContext を抑制するには、このメソッドを使用します。

共通言語ランタイム (CLR) は、マネージド コードを使用して実行される偽装操作のみを認識します。 CLR には、偽装を行うアンマネージ コードへのプラットフォーム呼び出しや Win32 関数の呼び出しなど、マネージド コードの外部で実行される偽装に関する知識がありません。 非同期ポイント間で ID をフローするには、マネージド WindowsIdentityWindowsImpersonationContext メソッドを使用する必要があります。

返されたAsyncFlowControl構造体のUndoメソッドを使用して、オブジェクトを前のSecurityContext状態に戻します。

このメソッドは、for SecurityPermissionFlag.Infrastructure 権限でSecurityAction.LinkDemand保護されます。 完全に信頼されたコンポーネントは、このメソッドを呼び出して、非同期呼び出し中に情報のフローを SecurityContext 抑制できます。 フローが抑制されると、メソッドは Capture .null

適用対象