मुझे लगता है कि सभी निष्पादन तुरंत समाप्त हो जाता है और कॉलिंग एंड को टाइमआउट मिलता है। जब आप किसी सेवा को रोकते हैं तो वास्तव में क्या होता है, और आपके पास कितना नियंत्रण होता है?क्या होता है यदि मैं डब्लूसीएफ अनुरोध को संसाधित करते समय अपनी विंडोज सेवा को रोकता हूं?
उत्तर
जब सेवा नियंत्रण प्रबंधक आपकी सेवा को रोकने के लिए कहता है, .NET ServiceBase सेवा को SERVICE_STOP_PENDING पर सेट करता है और आपकी सेवा की ऑनस्टॉप विधि को कॉल करता है। आप उस अधिसूचना के साथ क्या करते हैं आप पर निर्भर है। आदर्श रूप में, आपके पास वर्तमान में काम करने वाले किसी भी थ्रेड को सूचित करने के लिए रद्दीकरण टोकन के उपयोग जैसे कुछ तंत्र होंगे, जिन्हें उन्हें इसे लपेटने और जितनी जल्दी हो सके बाहर निकलने की आवश्यकता है। आपके मामले में इसमें आपके सर्विसहोस्ट को बंद करना शामिल हो सकता है। आपकी ऑनस्टॉप विधि को तब तक इंतजार करना चाहिए जब तक कि यह पता न हो कि लौटने से पहले पूरा हो गया है (उदाहरण के लिए धागे में शामिल होकर)। सेवा नियंत्रण प्रबंधक को सूचित करने के तरीके हैं जिन्हें आपको अधिक समय चाहिए, या सिर्फ यह बताने के लिए कि आपको अधिसूचना मिली है और आप सक्रिय रूप से रोक रहे हैं (SERVICE_STATUS dwcheckpoint)।
यदि आप तुरंत अपने ऑनस्टॉप से वापस लौटते हैं (या इसे लागू करने से परेशान नहीं करते हैं), तो मुझे लगता है कि आपकी सेवा के धागे को जबरन जबरन समाप्त कर दिया जाएगा। मैं निश्चित रूप से नहीं जानता, क्योंकि मैंने कभी कोशिश नहीं की है। मैं हमेशा ऑनस्टॉप को लागू करता हूं, और केवल सबकुछ साफ होने के बाद ही लौटता हूं। यदि आप ऑनस्टॉप को कार्यान्वित करते हैं, लेकिन सेवा नियंत्रण प्रबंधक को यह बताए बिना वापस लौटने में बहुत लंबा समय लगता है कि आप इस पर काम कर रहे हैं, तो यह थोड़ी देर इंतजार करेगा (सेवा रोकने के लिए 20 सेकंड ... यह एक रजिस्ट्री सेटिंग है) और फिर अपने धागे को समाप्त करें।
सही काम करना आपकी सेवा लिखना है ताकि यह जल्दी से शुरू हो जाए, जल्दी से रुक जाए, रोकें और जल्दी से जारी रहें। जैसा कि आप ऊपर दिए गए विवरण से देख सकते हैं, वास्तव में आपके मामले में क्या होता है, यह पूरी तरह से निर्भर करता है कि आपका सेवा लागू की गई थी। केवल आपके पास "निश्चित रूप से जानना" जानकारी है।
- 1. AspNetCompatibilityRequirements डब्लूसीएफ वेब सेवा को
- 2. क्या होता है यदि मैं अपनी अनुक्रमणिका को पहले छोड़कर एक MySQL कॉलम ड्रॉप करता हूं?
- 3. जब मैं डब्लूसीएफ सेवा
- 4. स्टॉप अनुरोध को संसाधित करने के लिए अधिकतम समय की सेवा सेवा क्या है और अतिरिक्त समय के लिए अनुरोध कैसे करें
- 5. डब्लूसीएफ सेवा
- 6. कैरियरवेव - छवियों को संसाधित करते समय त्रुटि
- 7. डब्लूसीएफ सेवा
- 8. क्षमा करें, आपके अनुरोध को संसाधित करते समय एक त्रुटि हुई
- 9. डब्लूसीएफ सेवा को बंद करना और निपटाना
- 10. रीस्टफुल डब्लूसीएफ सेवा "कच्चे" एक्सएमएल
- 11. शुरू होता है। । । एक 'ब्लॉक' को इंगित करते समय अंत?
- 12. क्या होता है यदि कोई डीडीओएस हमला विंडोज एज़ूर वेब साइट्स को हिट करता है?
- 13. क्या होता है यदि मैं एक खाली यूआरएल के साथ jQuery.post() को कॉल करता हूं?
- 14. क्या होता है यदि मैं हेडर फ़ाइल में किसी वर्ग को लागू करता हूं?
- 15. क्या मैं इसे सेवा स्टैक पर अपने जीईटी अनुरोध के विवाद को अनुकूलित कर सकता हूं?
- 16. WF4 में भेजें या SendReceive गतिविधि का उपयोग करते समय मैं डब्लूसीएफ सेवा पर कॉल कैसे कर सकता हूं?
- 17. प्रक्रिया निष्पादित करते समय एक्सेस अस्वीकृत। विंडोज सेवा
- 18. क्या मैं अपनी कुल सीमाओं को तोड़ रहा हूं?
- 19. क्या ब्रेकपॉइंट सभी धागे को रोकता है?
- 20. मैं डब्लूसीएफ वेबएपीआई वेबगेट
- 21. कार्य का उपयोग करते समय क्या होता है यदि थ्रेडपूल पूर्ण/व्यस्त है?
- 22. क्या होता है यदि एक से अधिक धागे सिंगलटन ऑब्जेक्ट को एक्सेस करने का प्रयास करते हैं
- 23. क्या होता है यदि ["x"! = X] बाश में करते हैं?
- 24. रीस्टफुल डब्लूसीएफ सेवा पोस्ट ऑपरेशंस
- 25. मैं डब्लूसीएफ आरईएसटी सेवा में स्लैश और अन्य 'यूआरएल संवेदनशील' पात्रों को कैसे पास कर सकता हूं?
- 26. ऐप को विस्तारित करने वाली वस्तुओं को लोड करते समय स्कैला में क्या होता है?
- 27. एन्कोडिंग करते समय एनएसएआरएआरई ऑब्जेक्ट का क्या होता है?
- 28. डब्ल्यूसीएफ सेवा के अनुरोध निष्पादन समय को सीमित कैसे करें?
- 29. MPMoviePlayerViewController हेडफ़ोन अनप्लग करते समय प्लेबैक रोकता है
- 30. ईमेल उत्तर संसाधित करते समय मैं किसी भी ईमेल क्लाइंट विशिष्टताओं और इतिहास को कैसे अनदेखा कर सकता हूं?
क्या विंडोज सेवा? क्या यह कुछ लिखा है? यह पूरी तरह से निर्भर है कि सेवा शट डाउन अनुरोध को कैसे प्रबंधित करती है। इसे अपने वर्तमान काम को पूरा करने के लिए लिखा जा सकता है या नहीं। – James
क्या आपने इसका परीक्षण किया है? आपका रिजल्ट क्या था? – Bernard
मैं सही उत्तर लिखूंगा ... लेकिन दोस्त ... इसे अपने आप परीक्षण करें! इसे स्वयं परीक्षण करने में केवल कुछ सेकंड लगते हैं। – Eiver