Leer en inglés

Compartir a través de


AppDomain.SetAppDomainPolicy(PolicyLevel) Método

Definición

Precaución

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.

Precaución

AppDomain policy levels are obsolete

Establece el nivel de directiva de seguridad para este dominio de aplicación.

C#
public void SetAppDomainPolicy (System.Security.Policy.PolicyLevel domainPolicy);
C#
[System.Obsolete("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.")]
[System.Security.SecurityCritical]
public void SetAppDomainPolicy (System.Security.Policy.PolicyLevel domainPolicy);
C#
[System.Obsolete("AppDomain policy levels are obsolete")]
public void SetAppDomainPolicy (System.Security.Policy.PolicyLevel domainPolicy);

Parámetros

domainPolicy
PolicyLevel

Nivel de directiva de seguridad.

Implementaciones

Atributos

Excepciones

domainPolicy es null.

Ya se ha establecido el nivel de directiva de seguridad.

La operación se intenta en un dominio de aplicación descargado.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el SetAppDomainPolicy método para establecer el nivel de directiva de seguridad de un dominio de aplicación.

C#
using System;
using System.Threading;
using System.Security;
using System.Security.Policy;
using System.Security.Permissions;

namespace AppDomainSnippets
{
    class ADSetAppDomainPolicy
    {
        static void Main(string[] args)
        {
            // Create a new application domain.
            AppDomain domain = System.AppDomain.CreateDomain("MyDomain");
            
            // Create a new AppDomain PolicyLevel.
            PolicyLevel polLevel = PolicyLevel.CreateAppDomainLevel();
            // Create a new, empty permission set.
            PermissionSet permSet = 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/O or tries to create a window.
                domain.ExecuteAssembly("Assemblies\\MyWindowsExe.exe");
            }
            catch(PolicyException e)
            {
                Console.WriteLine("PolicyException: {0}", e.Message);
            }

            AppDomain.Unload(domain);
        }
    }
}

Comentarios

Llame a este método antes de cargar un ensamblado en para AppDomain que la directiva de seguridad surta efecto.

Se aplica a

Producto Versiones (Obsoleto)
.NET Framework 1.1, 2.0, 3.0, 3.5 (4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8)