This documentation is archived and is not being maintained.

SecurityContext.SuppressFlow Method

Suppresses the flow of the security context across asynchronous threads.

Namespace:  System.Security
Assembly:  mscorlib (in mscorlib.dll)

public static AsyncFlowControl SuppressFlow()

Return Value

Type: System.Threading.AsyncFlowControl
An AsyncFlowControl structure for restoring the flow.

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.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

  • SecurityCriticalAttribute 

    requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: