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 構造。

属性

例外

.NET 5+ (.NET Core を含む): すべてのケースで。

注釈

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

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

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

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

適用対象