SecurityContext.SuppressFlow Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Suppresses the flow of the security context across asynchronous threads.
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
Returns
An AsyncFlowControl structure for restoring the flow.
- Attributes
Exceptions
.NET 5+ (including .NET Core): In all cases.
Remarks
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
.