AppDomain.Evidence Property
.NET Framework 4
Gets the Evidence associated with this application domain.
Assembly: mscorlib (in mscorlib.dll)
Property Value
Type: System.Security.Policy.EvidenceThe evidence associated with this application domain.
Implements
_AppDomain.EvidenceIEvidenceFactory.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); } }
-
SecurityPermission
to load an assembly with evidence. Associated enumeration: SecurityPermissionFlag.ControlEvidence. Security action: Demand.
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.