AppDomainManager.InitializeNewDomain(AppDomainSetup) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Initializes the new application domain.
public:
virtual void InitializeNewDomain(AppDomainSetup ^ appDomainInfo);
public virtual void InitializeNewDomain (AppDomainSetup appDomainInfo);
[System.Security.SecurityCritical]
public virtual void InitializeNewDomain (AppDomainSetup appDomainInfo);
abstract member InitializeNewDomain : AppDomainSetup -> unit
override this.InitializeNewDomain : AppDomainSetup -> unit
[<System.Security.SecurityCritical>]
abstract member InitializeNewDomain : AppDomainSetup -> unit
override this.InitializeNewDomain : AppDomainSetup -> unit
Public Overridable Sub InitializeNewDomain (appDomainInfo As AppDomainSetup)
Parameters
- appDomainInfo
- AppDomainSetup
An object that contains application domain initialization information.
- Attributes
Examples
The following example shows an override of the InitializeNewDomain method for a custom application domain manager. This code example is part of a larger example provided for the AppDomainManager class.
public override void InitializeNewDomain(AppDomainSetup appDomainInfo)
{
Console.Write("Initialize new domain called: ");
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName);
InitializationFlags =
AppDomainManagerInitializationOptions.RegisterWithHost;
}
Public Overrides Sub InitializeNewDomain(ByVal appDomainInfo _
As AppDomainSetup)
Console.Write("Initialize new domain called: ")
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName)
InitializationFlags = _
AppDomainManagerInitializationOptions.RegisterWithHost
End Sub
Remarks
Important
Do not use this method to initialize an application domain in ASP.NET. In ASP.NET, configuration must be handled by the host. If you use this method to initialize the application domain, the host throws InvalidOperationException when it attempts to initialize the application domain. The exception message indicates that initialization has already occurred.
This method is called immediately after the constructor. The default InitializeNewDomain implementation does nothing. A custom implementation can set up internal classes and delegates, set up an interface with the unmanaged host interface, or set up event handlers for the new AppDomain.
Also, for add-in activations, a custom implementation could identify the current AppDomain as the target application domain.
Beginning with the .NET Framework 4, you can use this method to sandbox the default application domain at application startup, or to modify the sandbox of a new application domain. To do this, adjust the DefaultGrantSet and FullTrustAssemblies properties on the ApplicationTrust object that is assigned to the AppDomainSetup.ApplicationTrust property of appDomainInfo
, before you initialize the application domain.
Note
Only assemblies granted FullTrust
, such as assemblies in the global assembly cache or identified as fullTrustAssemblies
in the AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[]) method can be loaded in the AppDomainManager constructor and the InitializeNewDomain method.