2009-05-29 2 views
0

У меня есть проект, состоящий из клиента Windows (около 150 пользователей), веб-службы и некоторых служб Windows. Все вместе работают в интранете и строятся с использованием C# .NET 3.5. Теперь я хочу регистрировать исключения в центральной базе данных и управлять ими (смотреть топ-10, систему билетов и т. Д.) Через веб-приложение.Обработка исключений в архитектуре клиент-сервер

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

Это хорошая идея, потому что ELMAH, очевидно, предназначен только для веб-сайтов asp.net.

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

Что вы думаете, есть ли другие идеи?

ответ

1

Корпоративная библиотека является громоздкой и излишней. Посмотрите на компоненты с открытым исходным кодом: NLog link text или Log4Net link text. Они оба имеют возможность регистрироваться на разных «стоках», включая плоский файл, UDP, базу данных и т. Д.

Я бы установил что-то там, где ваш компонент регистрации записывается в журнал событий на сервере. Затем используйте что-то вроде Microsoft Operations Manager (MOM) или другого программного обеспечения для управления системами, которое может сканировать журнал событий и поднять оповещения с помощью пейджинга, консоли командного центра и т. Д. В то же время вы также можете войти в базу данных для запросов и т. Д. .

Если вы ищете управление исключениями, отчетностью, оповещением и т. Д. Существует множество решений, таких как MS MOM, Tivoli, CA Unicenter, HP OpenView и даже NagIOS, которые вы можете использовать для этого.

Клиентская сторона немного сложнее. Поскольку это интрасеть, вы можете использовать UDP и запускать службу на сервере, которая будет прослушивать эти UDP-пакеты и хранить их в журнале событий и/или базе данных. Или вы можете добавить некоторые методы для своего веб-сервиса для захвата событий регистрации.

+0

Собственно, часть регистрации или предоставление исключений от клиента на сервер не является моей проблемой. Я уже использую log4net и могу настроить собственный Appender. Мои проблемы состоят в том, что если уже есть решения, которые являются стабильными и пригодными для использования, и принесите удобное приложение для управления. – Hinek

+0

Как указано в приведенном выше правиле, существует TON уже закаленных решений для управления приложениями: обработка отчетов, оповещений и т. Д. Вашего приложения. Все эти решения могут работать вместе с вашим компонентом ведения журнала, чтобы обеспечить очень богатую инфраструктуру для управления проблемами в режиме реального времени. Я бы даже зацепил программное обеспечение для отслеживания ошибок, зарегистрировав там критические исключения. – Doanair

+0

Конечно, изменение ELMAH может быть хорошим выбором, если стоимость является фактором, хотя NAGIOS ничего не стоит. – Doanair

0

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