Как я могу регистрировать и получать сообщения об ошибках из клиентского настольного приложения? - PullRequest
0 голосов
/ 30 марта 2010

Обновление : ответы на основе услуг, приведенные ниже, являются наиболее вероятным способом, и мне также любопытно узнать, есть ли какие-либо готовые решения, которые кто-либо пробовал в этой области.


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

В настоящее время мы просто показываем простое сообщение об ошибке с кнопкой, которая подготавливает электронное письмо (с системным почтовым клиентом по умолчанию), и клиенты отправляют его на наш адрес поддержки. Это содержит дополнительную информацию, такую ​​как трассировка стека.

альтернативный текст http://j.imagehost.org/0107/error01.png

Мы также пытались сохранить ошибки на общем сетевом ресурсе компании, но я не слишком заинтересован в этом архаичном решении.

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

Некоторые факторы, о которых я думаю, включают

  • Решение для регистрации ошибок, как и надуманное выше,
  • Надежное решение; Вход в базу данных SQL не будет работать; если и это не поможет, то что?
  • По крайней мере, полуавтоматизирован, желательно до точки, где бревна доходят до моей стороны.
  • Он справляется с нагрузкой, наша клиентская база растет, и текущее решение и наши почтовые ящики не выдерживают.
  • Минимизируйте установку дополнительных сторонних компонентов на клиентах, я хочу, чтобы SPOF был минимальным.

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

Сведения о системе

Это система на основе Microsoft .Net 2 с бэкэндом SQL. Некоторые пользователи работают удаленно через сеть, поэтому общие сетевые ресурсы не всегда доступны (если только они не используют VPN, что очень медленно). У нас есть пользователи из разных компаний, их базы данных размещены на сайте. У нас есть удаленный доступ к 90% из них.

Ответы [ 2 ]

2 голосов
/ 30 марта 2010

Учитывая этот сценарий, я бы настоятельно рассмотрел одну общую черту, которую, вероятно, имеют ваши пользователи: порт 80.

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

0 голосов
/ 30 марта 2010

В моей последней организации у нас было похожее окно на случай возникновения непредвиденных / неожиданных исключений. Он имел кнопку «Отправить в службу поддержки», которая отправляла отчет об ошибке (включая полную информацию об исключениях) в веб-службу (наши клиенты были распределены по 200 местам без прямого доступа к базе данных SQL).

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

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

Если они это сделали (что случалось время от времени, но не так часто, как хотелось бы), команда поддержки могла бы подключиться к ПК (при условии, что их сеть была запущена и работает), используя VNC-подобный клиент, и нажать F12 в диалоговом окне, чтобы раскрыть полную информацию об исключении. Затем они могут скопировать / вставить это и отправить по электронной почте непосредственно нам, разработчикам.

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

...