SecurityContext.SuppressFlow Method


Suppresses the flow of the security context across asynchronous threads.

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



An AsyncFlowControl structure for restoring the flow.



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


Use this method to suppress the flow of SecurityContext information on the current thread for asynchronous operations.

The common language runtime (CLR) is only aware of the impersonation operations performed using managed code. The CLR has no knowledge of impersonation performed outside of managed code, such as platform invokes to unmanaged code that does the impersonation, or through calls to Win32 functions. To flow identity across asynchronous points you must use the managed WindowsIdentity and WindowsImpersonationContext methods.

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

This method is protected with a SecurityAction.LinkDemand for SecurityPermissionFlag.Infrastructure permission. A fully trusted component can call this method to suppress the flow of the SecurityContext information during asynchronous calls. When the flow is suppressed, the Capture method returns null.

Applies to