AppDomain.SetAppDomainPolicy Method

Note: This API is now obsolete.

Establishes the security policy level for this application domain.

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

'Declaration
<ObsoleteAttribute("AppDomain policy levels are obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")> _
Public Sub SetAppDomainPolicy ( _
	domainPolicy As PolicyLevel _
)

Parameters

domainPolicy
Type: System.Security.Policy.PolicyLevel

The security policy level.

Implements

_AppDomain.SetAppDomainPolicy(PolicyLevel)

ExceptionCondition
ArgumentNullException

domainPolicy is Nothing.

PolicyException

The security policy level has already been set.

AppDomainUnloadedException

The operation is attempted on an unloaded application domain.

Call this method before an assembly is loaded into the AppDomain in order for the security policy to have effect.

The following example demonstrates how to use the SetAppDomainPolicy method to set the security policy level of an application domain.

Imports System
Imports System.Threading
Imports System.Security
Imports System.Security.Policy
Imports System.Security.Permissions



Class ADSetAppDomainPolicy

   Overloads Shared Sub Main(args() As String)
      ' Create a new application domain. 
      Dim domain As AppDomain = System.AppDomain.CreateDomain("MyDomain")

      ' Create a new AppDomain PolicyLevel. 
      Dim polLevel As PolicyLevel = PolicyLevel.CreateAppDomainLevel()
      ' Create a new, empty permission set. 
      Dim permSet As New PermissionSet(PermissionState.None)
      ' Add permission to execute code to the permission set.
      permSet.AddPermission(New SecurityPermission(SecurityPermissionFlag.Execution))
      ' Give the policy level's root code group a new policy statement based 
      ' on the new permission set.
      polLevel.RootCodeGroup.PolicyStatement = New PolicyStatement(permSet)
      ' Give the new policy level to the application domain.
      domain.SetAppDomainPolicy(polLevel)

      ' Try to execute the assembly. 
      Try 
         ' This will throw a PolicyException if the executable tries to 
         ' access any resources like file I/Q or window creation.
         domain.ExecuteAssembly("Assemblies\MyWindowsExe.exe")
      Catch e As PolicyException
         Console.WriteLine("PolicyException: {0}", e.Message)
      End Try

      AppDomain.Unload(domain)
   End Sub 'Main
End Class 'ADSetAppDomainPolicy

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
Obsolete (compiler warning) in 4.5
Obsolete (compiler warning) in 4.5.1
Obsolete (compiler warning) in 4.5.2
Obsolete (compiler warning) in 4

.NET Framework Client Profile

Supported in: 3.5 SP1
Obsolete (compiler warning) in 4

  • SecurityCriticalAttribute 

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

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft