SetAppDomainPolicy Methode (PolicyLevel)
Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

AppDomain.SetAppDomainPolicy-Methode (PolicyLevel)

 
Hinweis: Diese API ist nun veraltet.

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

Namespace:   System
Assembly:  mscorlib (in 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
)

Parameter

domainPolicy

Die Sicherheitsrichtlinienebene.

Exception Condition
ArgumentNullException

domainPolicy ist null.

PolicyException

Die Sicherheitsrichtlinie auf Hostebene wurde bereits festgelegt.

AppDomainUnloadedException

Der Vorgang ist auf eine entladene Anwendungsdomäne ausgeführt.

Rufen Sie diese Methode vor dem eine Assembly Laden in den AppDomain in der Reihenfolge für die Sicherheitsrichtlinie angewendet werden kann.

Im folgenden Beispiel wird veranschaulicht, wie Sie die SetAppDomainPolicy -Methode, um die Sicherheitsstufe für die Richtlinie einer Anwendungsdomäne festgelegt.

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
Verfügbar seit 1.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft