VB .Net Windows Service Console Сообщения - PullRequest
       4

VB .Net Windows Service Console Сообщения

0 голосов
/ 22 сентября 2011

У меня есть консольное приложение .Net, которое каждую минуту отображает тысячи строк на консоли.Я хочу преобразовать его в службу Windows, однако мне все еще нужен способ просмотра этих сообщений.Слишком много сообщений, чтобы записать их в журнал событий или даже в стандартный файл журнала.Мне было интересно, есть ли способ написать приложение systray, которое могло бы просто перехватывать эти сообщения из службы и отображать их в окне консоли.Мне не нужно сохранять старые сообщения, мне нужно только видеть текущую активность.

Ответы [ 2 ]

0 голосов
/ 22 сентября 2011

Похоже, что тип System.Diagnostics.Trace идеально подходит для этого. Внедрите свои изменения в два этапа:

На первом этапе вы добавляете ConsoleTraceListener в свое приложение и конвертируете все ваши текущие вызовы в консоль для записи в Trace. Это сохранит только ваше существующее поведение, но позволит вам легко вносить изменения в ваш новый вывод.

Для фазы 2 вы реализуете новый TraceListener, который вы можете присоединить вместо ConsoleTraceListener, который делает с сообщениями все, что вы хотите. Это может включать прослушивание соединения из предложенного вами системного или консольного приложения. Еще лучше, я уверен, что немного погуглив, покажет вам TraceListener, который уже делает то, что вы хотите.

Что касается фактического механизма передачи сообщения, я рекомендую использовать стандартный подход SysLog . Это дает преимущества работы с существующим программным обеспечением для клиента, повышает вероятность того, что вы найдете существующий TraceListener , и многие из существующих клиентов системного журнала принесут в качестве бонуса автоматизированный анализ данных. *

0 голосов
/ 22 сентября 2011

Службе потребуется записать в общую память типа некоторого , чтобы обмениваться данными с другой программой, которая отображает вывод. Я думаю, что вам лучше всего выводить в таблицу SQL или что-то в этом роде и очищать старые записи, чтобы в таблице никогда не было больше, скажем, 1000 записей за раз. Затем пингуйте таблицу пару раз в секунду в приложении Viewer и отобразите потоковое представление вывода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...