AppDomainManager.InitializeNewDomain(AppDomainSetup) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化新应用程序域。
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)
参数
- appDomainInfo
- AppDomainSetup
包含应用程序域初始化信息的对象。
- 属性
示例
以下示例演示自定义应用程序域管理器方法的 InitializeNewDomain 替代。 此代码示例是为类提供的大型示例的 AppDomainManager 一部分。
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
注解
重要
请勿使用此方法初始化 ASP.NET 中的应用程序域。 在 ASP.NET 中,必须由主机处理配置。 如果使用此方法初始化应用程序域,则主机在尝试初始化应用程序域时引发 InvalidOperationException 。 异常消息指示已发生初始化。
此方法在构造函数后立即调用。 默认 InitializeNewDomain 实现不执行任何作用。 自定义实现可以设置内部类和委托、使用非托管主机接口设置接口或为新 AppDomain设置事件处理程序。
此外,对于加载项激活,自定义实现可以将当前 AppDomain 标识为目标应用程序域。
从 .NET Framework 4 开始,可以使用此方法在应用程序启动时对默认应用程序域进行沙盒,或修改新应用程序域的沙盒。 为此,在初始化应用程序域之前,请调整DefaultGrantSet分配给其属性的对象上的属性和FullTrustAssemblies属性ApplicationTrustappDomainInfo
。AppDomainSetup.ApplicationTrust
备注
只有授予FullTrust
的程序集(如全局程序集缓存中的程序集)或在方法中标识fullTrustAssemblies
AppDomain.CreateDomain(String, Evidence, AppDomainSetup, PermissionSet, StrongName[])的程序集才能在构造函数和InitializeNewDomain方法中AppDomainManager加载。