This documentation is archived and is not being maintained.

AppDomain.Evidence Property

Gets the Evidence associated with this application domain that is used as input to the security policy.

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

public Evidence Evidence { get; }
/** @property */
public final Evidence get_Evidence ()

public final function get Evidence () : Evidence

Not applicable.

Property Value

Gets the Evidence associated with this application domain that is used as input to the security policy.

Exception typeCondition

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


import System.*;
import System.Reflection.*;
import System.Security.Policy.*; //for evidence object
import System.Security.*;        //for securityzone object
import System.Collections.*;     //for IEnumerator
 
class ADCreateDomain
{
    public static void main(String[] args)
    {
        // Create appdomainsetup information for the new appdomain.
        AppDomainSetup domainInfo = new AppDomainSetup();

        domainInfo.set_ApplicationBase(System.Environment.get_CurrentDirectory());
        domainInfo.set_ConfigurationFile(System.Environment.get_CurrentDirectory() 
            + "ADCreateDomain.exe.config");
        domainInfo.set_ApplicationName("MyApplication");
        domainInfo.set_LicenseFile(
            System.Environment.get_CurrentDirectory() + "license.txt");

        //Create evidence for new appdomain.
        Evidence adEvidence = AppDomain.get_CurrentDomain().get_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.get_CurrentDomain().get_FriendlyName());
        Console.WriteLine("child domain: " + newDomain.get_FriendlyName());
        Console.WriteLine();
        Console.WriteLine("Application base is: " 
            + newDomain.get_SetupInformation().get_ApplicationBase());
        Console.WriteLine("Configuration file is: " 
            + newDomain.get_SetupInformation().get_ConfigurationFile());
        Console.WriteLine("Application name is: " 
            + newDomain.get_SetupInformation().get_ApplicationName());
        Console.WriteLine("License file is: " 
            + newDomain.get_SetupInformation().get_LicenseFile());

        IEnumerator newEvidenceEnum = newDomain.get_Evidence().GetEnumerator();
        while (newEvidenceEnum.MoveNext()) {
            Console.WriteLine(newEvidenceEnum.get_Current());
        }

        AppDomain.Unload(newDomain);
    } //main 
} //ADCreateDomain 

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Show: