2009-12-21 5 views
1

Mon application console .NET a plusieurs domaines d'application. Mon souhait est simple - fenêtre de la console par domaine d'application.Comment peut-on avoir une fenêtre de console dédiée par AppDomain dans une application console .NET?

Motivation:

L'application est en fait un ensemble de test MbUnit et les différents domaines d'applications sont les serveurs hôtes le tout dans un seul processus, bien que dans les différents domaines d'application pour réduire le temps d'exécution. Chaque serveur sort en console, donc quand la console est partagée avec l'ensemble de test MbUnit on obtient une salade. Je souhaite accorder une fenêtre de console dédiée pour chaque domaine d'application serveur.

Nous utilisons log4net pour la journalisation, afin que nous puissions nous connecter aux fichiers et afficher les fichiers plus tard, mais à ce stade, il est beaucoup plus pratique de se connecter à la console.

Merci.

EDIT

J'ai résolu mon problème particulier à l'aide TelnetAppender. J'en ai dérivé et, depuis ActivateOptions, j'ouvre un client telnet. Pour l'utilisateur, il semble qu'il existe plusieurs fenêtres de journal de la console.

+0

Ressemble à une copie de ceci: http://stackoverflow.com/questions/671163/can-you-have-multiple-net-consoles-as-in-console-writeline – Vitaly

Répondre

1

Vous ne pouvez avoir (techniquement) qu'une seule console par application (n'appartenant pas à AppDomain). Cela étant dit, il est techniquement possible de simuler ce comportement. Cela nécessite de générer une application enfant distincte et d'utiliser Pipes pour pousser la sortie de la console pour chaque "console" séparée vers sa propre application enfant. Voici un CodeProject article demonstrating this approach (en C++).

Questions connexes