2010-01-17 10 views
9

क्या मेरे अनुप्रयोग में Windows Error Reporting एकीकृत करने के लिए मेरे लिए .NET API है?क्या Windows त्रुटि रिपोर्टिंग के लिए .NET API है

मैं अपने आवेदन में होने वाली गैर-आपदाजनक त्रुटियों के लिए भी त्रुटि रिपोर्ट शुरू करने में अधिक रुचि रखता हूं और मुझे लगता है कि WIN32 API है।

उत्तर

2

से एक प्रबंधित सेवा DLL डाउनलोड करने योग्य है, यह संभव नहीं है। WER का उपयोग अनुप्रयोगों द्वारा नहीं किया गया था, यह ऐसा कुछ है जिसे उपयोगकर्ता सक्षम करने का विकल्प चुन सकता है, और जब वह करता है, तो सभी एप्लिकेशन क्रैश विंडोज त्रुटि रिपोर्ट में बदल जाते हैं और केंद्रीय सर्वर पर भेजे जाते हैं। यह अलग-अलग अनुप्रयोगों के लिए आप चालू और बंद नहीं करते हैं। आप को उस मशीन पर क्रैश करते हुए त्रुटि रिपोर्ट उत्पन्न करते हैं जहां उपयोगकर्ता ने WER सक्षम किया है।

डेवलपर्स को सिर्फ पंजीकरण करना है ताकि वे अपने उत्पादों पर क्रैश जानकारी प्राप्त कर सकें।

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

डेवलपर्स समस्याओं ग्राहकों को अपने आवेदन पत्र के साथ सामना कर रहे हैं के बारे में जानकारी मिलती है और इसकी सहायता से ग्राहक इन समस्याओं को ठीक करने के लिए Windows गुणवत्ता की ऑनलाइन सेवाओं के साथ रजिस्टर कर सकते हैं। डेवलपर्स एप्लिकेशन रिकवरी का उपयोग भी कर सकते हैं और यह सुनिश्चित करने के लिए पुनरारंभ कर सकते हैं कि जब ग्राहक अपने एप्लिकेशन को क्रैश करते हैं और उपयोगकर्ताओं को अपने कार्यों पर तुरंत लौटने की अनुमति देते हैं तो डेटा खोना नहीं पड़ता है।

मैं तुम्हें इंटरॉप इस्तेमाल कर सकते हैं अगर आप दुर्घटनाग्रस्त बिना एक रिपोर्ट तैयार करना चाहते, WER एपीआई कॉल करने के लिए यकीन है।

कृपया एकत्रित दुर्घटना उदासीनता की प्रक्रिया पर ज्यादा जानकारी के लिए निम्न यूआरएल की इस पर गौर:

0

आप उपयोग कर सकते हैं System.Diagnostics.EventLog

+0

मुझे नहीं लगता कि आप से एक WER त्रुटि रिपोर्ट भेजने को आरंभ करने के System.Diagnostics.EventLog का उपयोग कर सकते हैं माइक्रोसॉफ्ट के सर्वर के लिए क्लाइंट मशीन। यदि यह वास्तव में आपका मतलब है, तो क्या आप कृपया विस्तार से बता सकते हैं कि यह वास्तव में कैसे किया जा सकता है? – urig

+0

आह, मैं देखता हूं - मैंने सोचा था कि आपको विंडोज़ एरर लॉग का उपयोग करना था - त्रुटि – Ray

1

WER टीम Codeplex पर एक परियोजना है, http://www.codeplex.com/wer/Release/ProjectReleases.aspx?ReleaseId=12825

+0

त्रुटि के लिए सोरी WER सेवा प्रोजेक्ट के लिंक के लिए धन्यवाद। लेकिन ऐसा लगता है कि यह परियोजना एमएस से डेटा प्राप्त करने और कैब और बाल्टी को कॉन्फ़िगर करने के बारे में है। जबकि मुझे अपने क्लाइंट सॉफ़्टवेयर से त्रुटि रिपोर्ट शुरू करने की क्षमता है। असल में .NET इसके बराबर है: http://msdn.microsoft.com/en-us/library/bb513625%28VS.85%29.aspx क्या आपको पता है कि WER सेवाएं ऐसा कर सकती हैं या नहीं? – urig

0

माइक्रोसॉफ्ट के लिए अपने सवाल पर मैं निम्नलिखित जवाब मिला है।

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; 
+1

बेहतर होगा यदि आपने उन पृष्ठों की सामग्री को संक्षेप में यहां सूचीबद्ध करने के बजाय सारांशित किया है। – GenericJon

+0

अंतिम लिंक नमूने कोड से जुड़ा हुआ है। मुझे संक्षेप में क्या करना चाहिए? –

संबंधित मुद्दे