This documentation is archived and is not being maintained.

SecurityContext.Run Method

Runs the specified method in the specified security context on the current thread.

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

public static void Run(
	SecurityContext securityContext,
	ContextCallback callback,
	Object state


Type: System.Security.SecurityContext
The security context to set.
Type: System.Threading.ContextCallback
The delegate that represents the method to run in the specified security context.
Type: System.Object
The object to pass to the callback method.


securityContext is null.


securityContext was not acquired through a capture operation.


securityContext has already been used as the argument to a Run method call.

The security context for the current thread is returned to its previous state when the method call is complete.

The following code example shows how to use the Run method to execute a method in a specified security context.

using System;
using System.Security;
using System.Threading;

class Test
    static void Main()
            new ContextCallback(Callback), "Hello world.");
    static void Callback(object o)

.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.