Windowsエラー報告をアプリケーションに統合するための.NetAPIはありますか?
私は主に、アプリケーションで発生する致命的でないエラーに対してもエラーレポートを開始することに関心があり、見つけることができるのはWIN32APIだけです。
Windowsエラー報告をアプリケーションに統合するための.NetAPIはありますか?
私は主に、アプリケーションで発生する致命的でないエラーに対してもエラーレポートを開始することに関心があり、見つけることができるのはWIN32APIだけです。
ありそうもない。WERは、アプリケーションで使用するためのものではなく、ユーザーが有効にすることを選択できます。使用すると、すべてのアプリケーションのクラッシュがWindowsエラーレポートに変換され、中央サーバーに送信されます。これは、個々のアプリケーションに対してオンとオフを切り替えるものではありません。ユーザーがWERを有効にしているマシンでクラッシュすることにより、エラーレポートを生成します。
開発者は、製品のクラッシュ情報を取得できるように登録する必要があります。
http://msdn.microsoft.com/en-us/library/bb513641(VS.85).aspxから
開発者は、Windows Quality Online Servicesに登録して、顧客がアプリケーションで経験している問題に関する情報を取得し、顧客がこれらの問題を修正するのを支援できます。開発者は、アプリケーションの回復と再起動を使用して、アプリケーションがクラッシュしたときに顧客がデータを失わないようにし、ユーザーがタスクにすばやく戻ることができるようにすることもできます。
クラッシュせずにレポートを生成したい場合は、相互運用機能を使用してWERAPIを呼び出すことができると確信しています。
WERチームにはCodeplexに関するプロジェクトがあります。http://www.codeplex.com/wer/Release/ProjectReleases.aspx?ReleaseId=12825からダウンロード可能なマネージドサービスDLLがあります
使用できますSystem.Diagnostics.EventLog
Microsoftへの質問で、次の答えが得られました。
クラッシュダンプを収集するプロセスの詳細については、次のURLを調べてください。
msdn.microsoft.com/en-us/windows/hardware/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 しかし、それは機能しません。今、私は問題を解決しようとしています。おそらくそれは誰かに役立つでしょう。
更新:この問題を解決しました。NTLMの認証に問題がありました:-)。
このコードの前:
string challenge = LiveIdAuthentication.GetChallengeFromServiceRequest(request.RequestUri.AbsoluteUri);
私はこれを追加しました:
IWebProxy webProxy = WebRequest.DefaultWebProxy;
webProxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = webProxy;