This topic has not yet been rated - Rate this topic

AppDomain.Evidence Property

Gets the Evidence associated with this application domain.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)
public Evidence Evidence { get; }

Property Value

Type: System.Security.Policy.Evidence
The evidence associated with this application domain.

Implements

_AppDomain.Evidence
IEvidenceFactory.Evidence
Exception Condition
AppDomainUnloadedException

The operation is attempted on an unloaded application domain.

The following example demonstrates how to use the Evidence property to retrieve the evidence associated with the current application domain. The example modifies the evidence and uses it to create a new application domain.



using System;
using System.Reflection;
using System.Security.Policy;  //for evidence object
using System.Security;  //for securityzone object
using System.Collections;  //for IEnumerator

class ADCreateDomain
{
	public static void Main()
	{
		// Create appdomainsetup information for the new appdomain.
		AppDomainSetup domaininfo = new AppDomainSetup();
		domaininfo.ApplicationBase = System.Environment.CurrentDirectory;
		domaininfo.ConfigurationFile = System.Environment.CurrentDirectory	+ "\\ADCreateDomain.exe.config";
		domaininfo.ApplicationName = "MyApplication";
		domaininfo.LicenseFile = System.Environment.CurrentDirectory + "\\license.txt";

		//Create evidence for new appdomain.
		Evidence adevidence = AppDomain.CurrentDomain.Evidence;
		//Add the zone and url information to restrict permissions assigned to the appdomain.
		adevidence.AddHost(new Url("http://www.example.com"));
		adevidence.AddHost(new Zone(SecurityZone.Internet));

		// Create the application domain.
		AppDomain newDomain = AppDomain.CreateDomain("MyDomain", adevidence, domaininfo);

		// Write out the application domain information.
		Console.WriteLine("Host domain: " + AppDomain.CurrentDomain.FriendlyName);
		Console.WriteLine("child domain: " + newDomain.FriendlyName);
		Console.WriteLine();
		Console.WriteLine("Application base is: " + newDomain.SetupInformation.ApplicationBase);
		Console.WriteLine("Configuration file is: " + newDomain.SetupInformation.ConfigurationFile);
		Console.WriteLine("Application name is: " + newDomain.SetupInformation.ApplicationName);
		Console.WriteLine("License file is: " + newDomain.SetupInformation.LicenseFile);
		
		IEnumerator newevidenceenum = newDomain.Evidence.GetEnumerator();
		while(newevidenceenum.MoveNext())
			Console.WriteLine(newevidenceenum.Current);
		

		AppDomain.Unload(newDomain);
	
		
	}
	
}



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ