This documentation is archived and is not being maintained.

SecurityContext.SuppressFlowWindowsIdentity Method

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

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

[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
public static AsyncFlowControl SuppressFlowWindowsIdentity()

Return Value

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

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.

NoteNote:

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 on flowing unmanaged impersonation across asynchronous points, see <alwaysFlowImpersonationPolicy> Element.

The following code example shows the use of the SuppressFlowWindowsIdentity method to suppress the flow of the Windows identity. This code example is part of a larger example provided for the SecurityContext class.

AsyncFlowControl aFC2 =
    SecurityContext.SuppressFlowWindowsIdentity();
Console.WriteLine("Has the Windows identity flow been suppressed?"
    + SecurityContext.IsWindowsIdentityFlowSuppressed());

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0
Show: