(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

AppDomain.SetAppDomainPolicy-Methode

Hinweis: Diese API ist mittlerweile veraltet.

Legt die Sicherheitsrichtlinienebene für diese Anwendungsdomäne fest.

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

[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
)

Parameter

domainPolicy
Typ: System.Security.Policy.PolicyLevel
Die Sicherheitsrichtlinienebene.

Implementiert

_AppDomain.SetAppDomainPolicy(PolicyLevel)

AusnahmeBedingung
ArgumentNullException

domainPolicy ist null.

PolicyException

Die Sicherheitsrichtlinienebene wurde bereits festgelegt.

AppDomainUnloadedException

Es wurde versucht, die Operation für eine entladene Anwendungsdomäne auszuführen.

Rufen Sie diese Methode vor dem Laden einer Assembly in die AppDomain auf, damit die Sicherheitsrichtlinien wirksam sind.

Im folgenden Beispiel wird die Verwendung der SetAppDomainPolicy-Methode zum Festlegen der Sicherheitsrichtlinienebene einer Anwendungsdomäne veranschaulicht.


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


.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0
Veraltet (Compilerwarnung) in 4.5.2
Veraltet (Compilerwarnung) in 4.5.1
Veraltet (Compilerwarnung) in 4.5
Veraltet (Compilerwarnung) in 4

.NET Framework Client Profile

Unterstützt in: 3.5 SP1
Veraltet (Compilerwarnung) in 4

  • SecurityCriticalAttribute 

    Erfordert volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von teilweise vertrauenswürdigem oder transparentem Code nicht verwendet werden.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft