2009-12-21 106 views
1

我的控制台.NET应用程序有几个应用程序域。我的愿望很简单 - 每个应用程序域的控制台窗口。如何在控制台.NET应用程序中为每个AppDomain使用专用的控制台窗口?

动机:

的应用实际上是一个MbUnit的测试组件和各种应用程序域是服务器主机的所有不同的应用程序域包装在一种方法中,虽然以减少执行时间。每个服务器输出到控制台,所以当控制台与MbUnit测试程序集共享时,就可以得到一份沙拉。我希望为每个服务器应用程序域授予专用控制台窗口。

我们使用log4net进行日志记录,因此我们可以稍后登录到文件和查看文件,但在此阶段,登录到控制台会更方便。

谢谢。

编辑

我一直在使用TelnetAppender解决我的具体问题。我从它派生出来并从ActivateOptions内部打开一个telnet客户端。对用户来说,它看起来像有几个控制台日志窗口。

+0

看起来像这样的副本:http://stackoverflow.com/questions/671163/can-you-have-multiple-net-consoles-as-in-console-writeline – Vitaly 2009-12-21 18:11:03

回答

1

您只能在技术上为每个应用程序(而不是AppDomain)设置一个控制台。

这就是说,模拟这种行为在技术上是可行的。它需要产生一个单独的子应用程序,并使用Pipes将每个单独的“控制台”的控制台输出推送到其自己的子应用程序。这是一个CodeProject article demonstrating this approach(在C++中)。

相关问题