2009-02-11 20 views
27

मैं एक खिड़की सेवा बना दिया है और यह स्वचालित रूप से और स्थानीय सिस्टम खाते के तहत काम करते हैं, जब सेवा शुरू होता है यह मेरे लिए इस संदेश को आग और उसके बाद बंद हो जाता हैWindows सेवा स्वचालित रूप से बंद हो जाता है

[सेवा का नाम] स्थानीय कंप्यूटर पर सेवा शुरू किया और फिर बंद कर दिया। कुछ सेवाएं स्वचालित रूप से बंद हो जाती हैं अगर वे किसी अन्य सेवाओं या कार्यक्रमों द्वारा उपयोग में नहीं हैं।

समस्या क्या है और समाधान क्या है?

+1

यह त्रुटि जावा सेवा के साथ होती है जब जावा नीति उचित नीतियों जैसे "policy.all" की अनुमति नहीं देती है। – djangofan

+0

@djangofan आपकी सलाह उपयोगी लगती है, कृपया इसे एक उत्तर के रूप में पोस्ट करें। – bluish

+0

अपनी विंडोज सेवा 'डीबग्रेबल' बनाएं http://stackoverflow.com/a/15075454/413032 –

उत्तर

36

या तो आप काम करने के लिए onStart विधि पर किसी भी धागे शुरू नहीं कर रहे हैं, या वहाँ एक अपवाद अपने onStart विधि के भीतर उठाया है।

यदि कोई अपवाद फेंक दिया गया है, तो यह विंडोज इवेंट लॉग में दिखाई देगा। विंडोज इवेंट लॉग किसी भी मामले में शुरू करने के लिए एक अच्छी जगह है।

आम तौर पर एक onStart विधि इस प्रकार है:

Thread _thread; 

protected override void OnStart(string[] args) 
{ 
    // Comment in to debug 
    // Debugger.Break() 

    // Do initial setup and initialization 
    Setup(); 

    // Kick off a thread to do work 
    _thread = new Thread(new MyClass().MyMethod) 
    _thread.Start(); 

    // Exit this method to indicate the service has started 
} 
+1

+1 ने बहुत मदद की। मैं नोट करना चाहता हूं (कम से कम विंडोज 7 के लिए), [इवेंट व्यूअर] (http://windows.microsoft.com/en-us/windows/open-event-viewer#1TC=windows-7) में विंडोज लॉग शामिल हैं (फिर आवेदन के तहत जांचें)। –

+0

मदद के लिए धन्यवाद, कुछ मेरी सेवाओं में त्रुटि। मुझे विंडोज इवेंट लॉग – asraful009

5

यह विशेष रूप से त्रुटि संदेश का अर्थ यह क्या कहते हैं - कि आपकी सेवा शुरू कर दिया है, लेकिन फिर काफी जल्द ही यह किसी कारण से से बाहर निकल गया। अच्छी खबर यह है कि आपकी सेवा वास्तव में कुछ कर रही है, इसलिए आपके पास निष्पादन योग्य कॉन्फ़िगर किया गया है और एक सेवा के रूप में ठीक से चल रहा है।

एक बार शुरू हुआ, किसी कारण से यह छोड़ रहा है। आपको यह पता लगाना होगा कि यह क्यों है। आपको इसे ऊपर उठाने और चलाने और ज्ञात निकास के मामलों के बारे में बताने के लिए कुछ डिबगिंग जोड़ें। यदि इससे समस्या प्रकट नहीं होती है तो कुछ डिबगिंग जोड़ें ताकि आपको पता चल सके कि यह अभी भी चल रहा है और जब यह रुक जाता है तब से पीछे की ओर काम करता है।

3

क्या आप किसी भी डीबग जानकारी का पता लगा रहे हैं? सबसे अधिक संभावना है कि आपके प्रारंभिकरण के दौरान एक अपवाद फेंक दिया जा रहा है। मैं आपके सभी अपवादों का पता लगाऊंगा और उन्हें देखने के लिए डीबग्यूव का उपयोग करूंगा।

3

मुझे ऐसी ही समस्या थी जो हुआ क्योंकि मेरा इवेंट लॉग था और सेवा उन्हें लिखने में असमर्थ थी। इस प्रकार, इवेंट व्यूअर में संदेशों की तलाश करके डीबग करना असंभव था। मैंने कोशिश की/पकड़ लिया और अपवाद को एक फाइल में छोड़ दिया। मुझे अपने लॉग पर सेटिंग्स को हर 7 दिनों के बजाय आवश्यक भरने के लिए बदलना पड़ा और इससे सेवाओं को शुरू करने की इजाजत मिली।

बेशक, मेरे लिए समस्या की जड़ यह है कि मेरे पास एक एनवीडिया ड्राइवर समस्या है जो मेरे इवेंट लॉग में बाढ़ आ रही है और अब मैं शायद डिस्क पर मार रहा हूं, लेकिन यह एक और मुद्दा है।

-4

मेरे लिए एक ही मुद्दा मेरी app.config फ़ाइल में एक गलत सेटिंग के कारण आया था। मैं सेटिंग को बदला गया और इस मुद्दे को हल

+7

अन्य उपयोगकर्ताओं की मदद करने के लिए कृपया ** ** ** जो आपने बदल दिया है, उसका इन्फॉर्मेशन जोड़ें। – AxelEckenberger

+1

आम उल्लास मुझे बताता है कि आपने किस सेटिंग को बदल दिया है, यह बहुत से लोगों के लिए बहुत उपयोगी होगा – nag

+0

यह एक बेकार जवाब है/यह जानकर कि कौन सा ऐप कॉन्फ़िगरेशन सेटिंग बदल गई है। –

1

मैं एक ही मुद्दा JBoss शुरू करने के लिए किया था, तो मैं JAVA_HOME चर बदल गया है, यह मेरे लिए काम किया। यह जेबॉस संस्करण था जो 1.6 का समर्थन नहीं करता है, यह 1.5 का समर्थन करता है।

0

शायद आपको स्थानीय सिस्टम खाता के रूप में सेवा चलाने की आवश्यकता है। this post by Srinivas Ganaparthi देखें।

+0

idk क्यों आप नीचे आ गए हैं। आज इस टिप्पणी ने मेरी मदद की! धन्यवाद मोहिंदर –

0

मैं इसी तरह की समस्या थी और यह मेरे मामले कि कार्यक्रम बस onStart विधि में दुर्घटनाग्रस्त हो गया में निकला। इसने कुछ फाइल पढ़ने की कोशिश की जिसे वह नहीं मिला लेकिन मुझे लगता है कि कोई अन्य प्रोग्राम क्रैश एक ही परिणाम देगा।विंडोज़ फॉर्म एप्लिकेशन के मामले में आपको कुछ त्रुटि संदेश मिलेगा, लेकिन यहां यह सिर्फ "आपकी सेवा शुरू हुई और बंद हो गई"

यदि आपको कभी भी ऐसी निर्देशिका से कुछ फाइलें पढ़ने की आवश्यकता है, जहां Windows Service.exe स्थित है, इस विषय को जांचें: Getting full path for Windows Service

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

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