Есть ли .Net API для отчетов об ошибках Windows? - PullRequest
10 голосов
/ 18 января 2010

Существует ли для меня .Net API для интеграции отчетов об ошибках Windows в мое приложение?

Я в основном заинтересован в создании отчетов об ошибках даже для не катастрофических ошибок, возникающих в моем приложении, и все, что я мог найти, это WIN32 API .

Ответы [ 4 ]

2 голосов
/ 27 января 2010

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

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

от http://msdn.microsoft.com/en-us/library/bb513641(VS.85).aspx

Разработчики могут зарегистрироваться в Windows Quality Online Services, чтобы получить информацию о проблемах, с которыми пользователи сталкиваются в своих приложениях, и помочь клиентам решить эти проблемы. Разработчики также могут использовать восстановление и перезапуск приложений, чтобы гарантировать, что клиенты не потеряют данные при сбоях приложений, и позволить пользователям быстро вернуться к своим задачам.

Я уверен, что вы можете использовать interop для вызова API WER, если вы хотите создать отчет без сбоев.

1 голос
/ 19 января 2010

У команды WER есть проект на Codeplex; есть управляемая DLL-библиотека служб, которую можно загрузить с http://www.codeplex.com/wer/Release/ProjectReleases.aspx?ReleaseId=12825

0 голосов
/ 19 мая 2014

На мой вопрос к Microsoft я получил следующий ответ:

Пожалуйста, просмотрите следующие URL для получения дополнительной информации о процессе сбора аварийных дампов.

msdn.microsoft.com / EN-US / окна / оборудование / gg487440.aspx blogs.msdn.com/b/wer/archive/2012/03/28/windows-hardware-dashboard-reports-faq.aspx http://blogs.msdn.com/b/wer/archive/2009/03/16/faq.aspx

Там я нашел этот образец: http://www.microsoft.com/en-us/download/confirmation.aspx?id=29229 Но это не работает. Сейчас я пытаюсь решить проблему. Возможно, это кому-нибудь пригодится.

UPDATE: Я решил эту проблему. У меня была проблема с авторизацией для NTLM: -).

До этого кода:

string challenge = LiveIdAuthentication.GetChallengeFromServiceRequest(request.RequestUri.AbsoluteUri);

Я добавил это:

IWebProxy webProxy = WebRequest.DefaultWebProxy;
webProxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = webProxy;
0 голосов
/ 18 января 2010

Вы можете использовать System.Diagnostics.EventLog

...