पर होने वाले अपवाद को पकड़ना मैं Win32 अपवाद के कारण अपने आवेदन में कुछ क्रैश की जांच कर रहा हूं, और मैंने इसे कम कर दिया है कि यह थ्रेडपूल में हो रहा है जो EventLog.EntryWrittenEventHandler
ईवेंट हैंडलर की देखभाल कर रहा है आवेदन। मैं इस सेट अप इस तरह:सी # थ्रेडपूल
// Create the event log monitor
eventLog.Log = "Application";
eventLog.EnableRaisingEvents = true;
eventLog.EntryWritten += new EntryWrittenEventHandler(EventLogMonitor);
EventLogMonitor
मेरी घटना के लिए हैंडलर है। मैं सोच रहा हूं कि क्या किसी के पास कोई विचार है कि मैं यह अपवाद कहां से प्राप्त कर सकता हूं। ऐसा लगता है कि घटनाओं को सुनने के लिए ThreadPoolWaitOrTimerCallback
स्थापित किया जा रहा है, जिसमें मेरा कोई कोड नहीं होगा, और अगर इस पर अपवाद हो रहा है तो मैं यह नहीं देख सकता कि इस समस्या से निपटने के लिए कैसे। कोई भी मदद सचमुच सराहनीय होगी!! !
यहाँ WinDBG में clrstack के उत्पादन में है:
0:008> !clrstack
OS Thread Id: 0x106c (8)
ESP EIP
049df1c8 7756f871 [HelperMethodFrame: 049df1c8]
049df26c 73ce6fa0 System.Diagnostics.EventLog.get_OldestEntryNumber()
049df27c 73bf24ed System.Diagnostics.EventLog.CompletionCallback(System.Object)
049df2c4 73bf0fe4 System.Diagnostics.EventLog.StaticCompletionCallback(System.Object, Boolean)
049df2f4 744fc3b8 System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context(System.Object, Boolean)
049df300 744fc373 System.Threading._ThreadPoolWaitOrTimerCallback.WaitOrTimerCallback_Context_f(System.Object)
049df304 7400027f System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
049df31c 744fc477 System.Threading._ThreadPoolWaitOrTimerCallback.PerformWaitOrTimerCallback(System.Object, Boolean)
049df4ac 74991b5c [GCFrame: 049df4ac]
मामले में यह मदद करता है, अपने आवेदन सिर्फ ईवेंट लॉग के लिए लिखा हर प्रविष्टि की घटना आईडी जाँच कर रहा है, और अगर यह एक में से एक से मेल खाती है आईडी के कुछ सेट तो मैं इसे लॉग करता हूं। दुर्घटनाएं शायद ही कभी शांत हो जाती हैं, और अपवाद एक सिस्टम है। संदेश 'एक्सेस अस्वीकार कर दिया गया है' संदेश के साथ कॉम्पोनेंट मॉडेल। Win32 अपवाद। ऐसा लगता है कि यह एक अनुमति मुद्दा हो सकता है लेकिन यह एक निश्चित अवधि के लिए ठीक क्यों काम करेगा और फिर अचानक इसके साथ दुर्घटनाग्रस्त हो जाएगा।
यह अपवाद किस तरह का है? –
सिस्टम। कॉम्पोनेंट मॉडेल। Win32 संदेश 'एक्सेस अस्वीकृत है' के साथ अपवाद। अजीब बात यह है कि यह बहुत ही कम होता है, मेरा आवेदन जो सेवा के रूप में चलता है, दिन के लिए जा सकता है और फिर अचानक यह इसके साथ दुर्घटनाग्रस्त हो जाता है .. – DukeOfMarmalade
क्या यह संभव है कि आप अपना खुद का निर्माण करने की कोशिश कर रहे हैं, पहले कभी भी इस्तेमाल नहीं किया गया स्रोत स्रोत, और वह यह केवल तब दुर्घटनाग्रस्त हो जाता है? –