У нас есть служба C#, которая развертывается в удаленной системе клиентов. Приложение записывает значительную часть «диагностической» информации на консоль (т. Е. Console.WriteLine()). Служба не «делает то, что должна». Как мы можем захватить вывод консоли из службы в другом приложении?Как захватить вывод консоли из службы C#?
Версия WinForm приложение может быть загружено в месте нахождения клиента. Это, к сожалению, работает правильно.
Update:
Мы можем изменить Изменение службы, но предпочли бы не делать серьезные изменения в это время.
Мы также регистрируемся в MSMQ, но только для «важных» событий. Эта служба действительно взаимодействует с MSMQ для нормальной работы. Или, по крайней мере, это должно быть. Кажется, что служба не тянет элементы из MSMQ, когда версия WinForm делает. Поэтому писать сообщения, которые идут на консоль, могут быть проблематичными.
Использование Console.SetOut было минимально возможным изменением, которое дало достаточно информации для определения проблемы с сервисом. – 2008-10-14 16:04:09