C # WCF - Пользовательская реализация мониторинга на стороне сервера - PullRequest
2 голосов
/ 06 августа 2010

Сценарий

  • Я написал распределенное приложение на C # с использованием WCF.
  • В нем используется архитектура клиент / сервер, реализующая шаблон проектирования издателя / подписчика для «проталкивания» новогоданные клиенту.
  • На стороне сервера размещается в службе Windows, клиент является приложением Windows Forms.
  • На стороне сервера постоянно проходит цикл процессов и отправляетрезультаты для клиента.
  • Я хочу добавить в приложение целую область для мониторинга всего, что происходит на стороне сервера.

Проблема

  • Вот где я немного застрял - я не могу решить, как мне следить за этим материалом.

Мысли

  • Я создаю объект для хранения большого количествадругая информация - журналы о том, где находится процесс в цикле на стороне сервера, исключения, если таковые имеются, ошибки и т. д.
  • Я думаю, реальный вопрос в том, как я могу успешно поддерживать аспект мониторингаприложениена что дает мне соответствующую информацию?
  • Может быть, центральный кеш на стороне сервера, который периодически «защелкивается» в определенный момент времени и обновляет информацию клиента?

1 Ответ

0 голосов
/ 06 августа 2010

Вы хотите знать, что в данный момент происходит на сервере, или вы также хотите вести историю того, что произошло?

Если вы хотите знать только, что происходит в данный момент, мое решение состояло бы в том, чтобы сохранить текущее состояние сервера в памяти (это не должно быть слишком сложно) и заставить клиента мониторинга вызывать сервер, когда он этого хочет. чтобы знать, что происходит.

Если вы хотите вести историю того, что произошло, вам нужно хранилище данных, в которое сервер может записывать события. Затем клиент мониторинга может прочитать это хранилище данных, чтобы показать, что происходит сейчас и что произошло в прошлом. Еще лучше было бы, если бы клиент не имел прямого доступа к этому хранилищу данных, а вместо этого связывался с сервером для получения соответствующей информации. Таким образом вы скрываете детали реализации своей истории мониторинга от клиента.

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