मैं .NET 2.0 में एक विंडोज़ सेवा लिख रहा हूं।ऑनस्टार्ट विधि के भीतर किसी सेवा को कैसे रोकें?
मुझे OnStart()
विधि के भीतर क्या करना चाहिए यदि किसी कारण से मैं अपनी सेवा शुरू नहीं करना चाहता हूं? क्या मैं बस बेस क्लास (ServiceBase
) की Stop()
विधि को कॉल कर सकता हूं? मैंने कोशिश की है और मुझे कुछ मजाकिया स्मृति पहुंच अपवाद मिल रहा है। क्या Stop()
विधि को कॉल करने के लिए इसे अलग थ्रेड शुरू करना आवश्यक है?
वास्तव में, यदि आप अपवाद फेंकते हैं, तो सेवा शुरू नहीं होगी। विंडोज सेवाएं यह सब आपके लिए संभालती है। – Noldorin
ऐसे कई कारण हैं जिनसे कोई सेवा शुरू नहीं कर सकती है! तो शायद आप वास्तव में क्यों नहीं पूछ रहे हैं, बल्कि जवाब देने का सुझाव अपवाद फेंकना है? ServiceBase.ExitCode को सेट करने के बारे में - क्या वह सलाह/आवश्यक है? – Rory
@ रोरी: सेवा शुरू करने में विफल होना तुरंत शुरू करना और रोकना एक अलग बात है। मैं सफलतापूर्वक और चुपचाप रोकने के खिलाफ हूँ। इवेंट लॉग में ExitCode लॉग किया जाएगा ताकि आप इसे सेट करने पर विचार करना चाहें। हालांकि इसकी आवश्यकता नहीं है। –