Сервис -> Связь через приложение. Лучший метод?

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

Мне впервые нужно установить связь между процессами, я искал несколько методов, какой, по вашему мнению, лучше всего подходит для этого случая? Почему? плюсы и минусы для каждого?

  • удаленное взаимодействие
  • Именованные каналы
  • сообщения Windows
  • локальное TCP-соединение
  • Журнал таблицы базы данных (я использую базу данных, так что это еще один вариант)
  • Файл данных на диске

Изменить: я использую .net 2, поэтому отличное решение wcf для меня не работает :(


person MazarD    schedule 28.01.2009    source источник


Ответы (2)


См. этот вопрос SO:

Передовые практики C# IPC

Вы почти наверняка захотите использовать WCF. Это заменяет другие технологии .Net, такие как удаленное взаимодействие. Кроме того, если вы используете WCF:

  • Другие клиенты также могут подписаться на эту информацию о состоянии в будущем.
  • Служба, прослушивающая обновления состояния, может быть запущена на другом физическом устройстве, если вам нужно увеличить масштаб.
person ng5000    schedule 28.01.2009
comment
Я использую .net v2, и это новое в v3. Но буду иметь в виду на ближайшее время. - person MazarD; 28.01.2009

Если вы действительно просто ищете "сообщения о состоянии" - в отличие от фактического клиентского приложения - тогда вы можете использовать операторы Trace/Debug.Write*. DebugView подберет их, если он запущен, а также может использоваться на разных хостах. И, конечно же, вы можете добавить других слушателей через конфигурационный файл, если позже захотите сохранить сообщения.

person Mark Brackett    schedule 28.01.2009