AppDomain::CreateDomain Method (String^, Evidence^, AppDomainSetup^)
Creates a new application domain using the specified name, evidence, and application domain setup information.
Assembly: mscorlib (in mscorlib.dll)
public: [SecurityPermissionAttribute(SecurityAction::Demand, ControlAppDomain = true)] static AppDomain^ CreateDomain( String^ friendlyName, Evidence^ securityInfo, AppDomainSetup^ info )
Parameters
- friendlyName
-
Type:
System::String^
The friendly name of the domain. This friendly name can be displayed in user interfaces to identify the domain. For more information, see FriendlyName.
- securityInfo
-
Type:
System.Security.Policy::Evidence^
Evidence that establishes the identity of the code that runs in the application domain. Pass null to use the evidence of the current application domain.
- info
-
Type:
System::AppDomainSetup^
An object that contains application domain initialization information.
| Exception | Condition |
|---|---|
| ArgumentNullException | friendlyName is null. |
If info is not supplied, this method overload uses the AppDomainSetup information from the default application domain.
If securityInfo is not supplied, the evidence from the current application domain is used.
Important |
|---|
Do not use this method overload to create sandboxed application domains. Beginning with the .NET Framework 4, the evidence that is supplied for securityInfo no longer affects the grant set of the application domain. Use the CreateDomain(String^, Evidence^, AppDomainSetup^, PermissionSet^, array<StrongName^>^) method overload to create sandboxed application domains. |
The following sample demonstrates, in general, how to create a domain using one of the CreateDomain overloads.
// Set up the AppDomainSetup AppDomainSetup^ setup = gcnew AppDomainSetup; setup->ApplicationBase = "(some directory)"; setup->ConfigurationFile = "(some file)"; // Set up the Evidence Evidence^ baseEvidence = AppDomain::CurrentDomain->Evidence; Evidence^ evidence = gcnew Evidence( baseEvidence ); evidence->AddAssembly( "(some assembly)" ); evidence->AddHost( "(some host)" ); // Create the AppDomain AppDomain^ newDomain = AppDomain::CreateDomain( "newDomain", evidence, setup );
for the ability to create and manipulate an AppDomain. Associated enumeration: SecurityPermissionFlag::ControlAppDomain. Security action: Demand.
to provide evidence. Associated enumeration: SecurityPermissionFlag::ControlEvidence.
Available since 1.1
