Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método AppDomain.SetAppDomainPolicy (PolicyLevel)

 

Publicado: octubre de 2016

Nota: Esta API ahora está obsoleta.

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

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

[SecurityCriticalAttribute]
[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 void SetAppDomainPolicy(
	PolicyLevel domainPolicy
)

Parámetros

domainPolicy
Type: System.Security.Policy.PolicyLevel

Nivel de directiva de seguridad.

Exception Condition
ArgumentNullException

El valor de domainPolicy es null.

PolicyException

Ya se ha establecido el nivel de directiva de seguridad.

AppDomainUnloadedException

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

Llamar a este método antes de que un ensamblado se carga en el AppDomain en orden para la directiva de seguridad que tienen efecto.

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

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);
		}
	}
}

SecurityCriticalAttribute

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

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: