如何创建AppDomain?

时间:2010-11-29 09:05:09

标签: .net winforms winforms-interop

在.Net中,我们可以通过编写

来创建AppDomain
AppDomain domain = AppDomain.CreateDomain("MyDomain");

我的问题是,它是如何在内部创建的?在我们使用此代码的应用程序中,应用程序在我们创建的新appDomain中运行,以便一个AppDomain如何创建另一个AppDomain以及clr如何决定在哪个appDomain中创建。

2 个答案:

答案 0 :(得分:0)

目前还不太清楚你要解决的问题。

在初始化托管应用程序时,.Net运行时创建AppDomains。

当你启动ABC.EXE时,它会获得一个应用程序域。如果启动ABC.EXE的第二个实例,它将获得一个新的独立应用程序域。

现在,如果您的ABC.EXE执行AppDomain domain = AppDomain.CreateDomain("MyDomain");,那么您将拥有4个应用程序域,这些域无法(轻松)相互通信。

答案 1 :(得分:0)

AppDomains通常由主机创建。主机示例包括Windows Shell,ASP.NET和IE。当您从命令行运行.NET应用程序时,主机就是命令行管理程序。 Shell为每个应用程序创建一个新的AppDomain。也可以由.NET应用程序显式创建AppDomains