हमारे आवेदन में कुछ परिस्थितियां हैं जहां गैर-घातक त्रुटियां होती हैं और एप्लिकेशन ठीक हो जाता है।क्या एप्लिकेशन इवेंट स्रोत को लिखना स्वीकार्य है?
किसी एक सूची सूची में आइटम को पॉप्युलेट करते समय कुछ आयात योग्य वस्तुओं को सही ढंग से पहचानने में विफल होने का एक उदाहरण। त्रुटियां ऐप को क्रैश नहीं करेंगी लेकिन उपयोगकर्ता को सतर्क किया जाएगा कि कुछ आइटम लोड होने में विफल रहे।
इस मामले में, त्रुटि इवेंट लॉग में एक चेतावनी के रूप में त्रुटि लॉग है। यह एक गैर-घातक त्रुटि है जिसे ऐप से ठीक हो जाता है, लेकिन ईवेंट लॉग पर लॉग इन करने से हमें मूल त्रुटि देखने की आवश्यकता होती है।
हमारी समस्या यह है कि सॉफ़्टवेयर को पावर उपयोगकर्ता खाते से स्थापित करने में सक्षम होना आवश्यक है। एक व्यवस्थापक खाता नहीं है, हमारे पास आवेदन के लिए कस्टम इवेंट स्रोत बनाने की क्षमता नहीं होगी।
इसका उद्देश्य "एप्लिकेशन" ईवेंट स्रोत (जो पहले से ही एप्लिकेशन इवेंट लॉग में दिखाई देता है) में त्रुटियों को लिखना है। ऐसा करने से, हालांकि, निम्नलिखित के समान पाठ भी शामिल किया जा सकता है।
स्रोत से इवेंट आईडी 0 के लिए विवरण नहीं मिला। या तो घटक जो इस घटना को उठाता है आपके स्थानीय कंप्यूटर पर स्थापित नहीं है या स्थापना दूषित है। आप स्थानीय कंप्यूटर पर घटक स्थापित या मरम्मत कर सकते हैं।
ऐसा इसलिए है क्योंकि जब हम इसे लिखते हैं तो EventID 0 होता है। इस दृष्टिकोण को नौकरी मिल जाएगी, लेकिन क्या कोई बेहतर तरीका है? क्या एप्लिकेशन इवेंट स्रोत के लिए EventID निर्दिष्ट करने के लिए कोई गैर-व्यवस्थापक तरीका है यह इंगित करने के लिए कि यह हमारे ऐप से आया है?
मैंने कुछ पढ़ा है: इवेंट आईडी के साथ इवेंट आईडी संयुक्त रूप से पहचानता है कि किस प्रकार की घटना हो रही है। संक्षेप में: मुझे चेतावनी त्रुटि नहीं है लेकिन मुझे ऐसे स्रोत का उपयोग नहीं करना चाहिए जिसे मैंने नहीं बनाया था। मैं एक (गैर व्यवस्थापक स्थापना इत्यादि) बनाने की स्थिति में नहीं हूं, इसलिए मुझे उम्मीद है कि इस तरह की घटनाओं के लिए उपलब्ध एक इवेंट स्रोत ढूंढना है या अन्य लोग लॉगिंग के लिए एक अलग तंत्र का उपयोग कर रहे हैं। विचार? – MoSlo
यदि आप .NET 4.5 का उपयोग कर रहे हैं तो आप इवेंटसोर्स क्लास (http://msdn.microsoft.com/en-us/library/system.diagnostics.tracing.eventsource.aspx) का उपयोग कर पंजीकरण की आवश्यकता के बिना ईटीडब्ल्यू को ईवेंट लिखने के लिए उपयोग कर सकते हैं । नकारात्मकता यह है कि ईवेंट इवेंट लॉग में सहेजे नहीं जाते हैं, इसलिए यदि आप उन घटनाओं को सक्रिय रूप से सुन नहीं रहे हैं तो आप उन्हें नहीं प्राप्त करेंगे। – fsimonazzi