首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不同的应用域名中启动控制台应用的多个实例?

如何在不同的应用域名中启动控制台应用的多个实例?
EN

Stack Overflow用户
提问于 2013-01-24 03:11:52
回答 3查看 5.2K关注 0票数 0

我有一个控制台应用程序A和控制台应用程序B。是否可以从A启动B的多个实例。重要的是,控制台应用程序B的每个实例都要在其自己的应用程序域中运行。如果可能,如何做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-24 17:52:18

当然这是可能的。要采取的步骤包括:

  1. 应用程序A在新的应用程序域中创建新的应用程序domain.
  2. Execute控制台应用程序B。
  3. 在控制台应用程序B执行完毕后卸载新的应用程序域。

一个非常简单的例子是:

代码语言:javascript
运行
复制
var appDomain = AppDomain.CreateDomain("a name");

appDomain.ExecuteAssembly("ConsoleApplicationB.exe"); //Update with the path to consolse application B.          

AppDomain.Unload(appDomain);

请注意,这是我能做的最简单的例子。选择更适合您需求的AppDomain.CreateDomain重载。

请注意,AppDomain.ExecuteAssembly正在阻塞。在运行示例时,您会注意到这一点。控制台应用程序A将阻塞,直到应用程序B退出。您将不得不异步执行此操作。

票数 2
EN

Stack Overflow用户

发布于 2013-01-24 03:14:10

一个控制台只能关联一个进程。除了System.Diagnostics.Process.Start("B"),我看不到其他方法

请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/ms681944(v=vs.85).aspx

票数 2
EN

Stack Overflow用户

发布于 2013-11-20 21:27:14

@I4V

我想你搞混了。一个进程只能与one console关联。

这意味着一个进程只能与 one console ( in |out|err)通信,换句话说,一个进程不能拥有多个控制台窗口。

也就是说,多个进程可以与一个控制台通信。理想的同步进程。

当然,有一些解决方法允许一个进程具有多个控制台窗口(WinTTY)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14487522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档