SecurityContext.SuppressFlowWindowsIdentity Method


Suppresses the flow of the Windows identity portion of the current security context across asynchronous threads.

 static System::Threading::AsyncFlowControl SuppressFlowWindowsIdentity();
public static System.Threading.AsyncFlowControl SuppressFlowWindowsIdentity ();
public static System.Threading.AsyncFlowControl SuppressFlowWindowsIdentity ();
static member SuppressFlowWindowsIdentity : unit -> System.Threading.AsyncFlowControl
static member SuppressFlowWindowsIdentity : unit -> System.Threading.AsyncFlowControl
Public Shared Function SuppressFlowWindowsIdentity () As AsyncFlowControl


A structure for restoring the flow.



.NET 5+ (including .NET Core): In all cases.


Use this method to suppress the flow of the Windows identity when the SecurityContext migrates across asynchronous threads.

Use the Undo method on the returned AsyncFlowControl structure to return the SecurityContext object to its previous state.


The common language runtime (CLR) is aware of impersonation operations performed using only managed code, not of impersonation performed outside of managed code, such as through platform invoke to unmanaged code or through direct calls to Win32 functions. Only managed WindowsIdentity objects can flow across asynchronous points, unless the alwaysFlowImpersonationPolicy element has been set to true (<alwaysFlowImpersonationPolicy enabled="true"/>). Setting the alwaysFlowImpersonationPolicy element to true specifies that the Windows identity always flows across asynchronous points, regardless of how impersonation was performed. For more information about flowing unmanaged impersonation across asynchronous points, see <alwaysFlowImpersonationPolicy> Element.

Applies to