Как можно иметь отдельное консольное окно для каждого домена приложений в консольном приложении .NET? - PullRequest
1 голос
/ 21 декабря 2009

В моем консольном приложении .NET есть несколько доменов приложений. Мое желание простое - окно консоли для каждого домена приложения.

Мотивация:

Приложение на самом деле представляет собой тестовую сборку MbUnit, и различные домены приложения - это хосты сервера, все упакованные в одном процессе, хотя в разных доменах приложения это сокращает время выполнения. Каждый сервер выводит данные на консоль, поэтому, когда консоль используется совместно с тестовой сборкой MbUnit, можно получить салат. Я хочу предоставить отдельное окно консоли для каждого домена приложения сервера.

Мы используем log4net для регистрации, поэтому мы можем регистрировать файлы и просматривать файлы позже, но на этом этапе гораздо удобнее войти в консоль.

Спасибо.

EDIT

Я решил свою конкретную проблему с помощью TelnetAppender. Я получил от него и из ActivateOptions открыть клиент Telnet. Для пользователя это выглядит так, как будто есть несколько окон журнала консоли.

1 Ответ

1 голос
/ 21 декабря 2009

Вы можете иметь (технически) только одну консоль для каждого Приложения (не AppDomain).

При этом технически возможно смоделировать это поведение. Требуется порождение отдельного дочернего приложения и использование Pipes для передачи вывода консоли для каждой отдельной «консоли» в собственное дочернее приложение. Вот статья CodeProject, демонстрирующая этот подход (на C ++).

...