2010-12-03 23 views
13

मैं उत्सुक कैसे बिल्कुल Main() विधि एक खिड़कियों सेवा में काम करता है के रूप में यह सेवा नियंत्रण प्रबंधक से संबंधित हूँ। इसे कब निष्पादित किया जाता है? यह ओएस में कैसे लगाता है? क्या सेवा स्थापित होने पर इसे निष्पादित किया जाता है? मुझे पता है कि इसे चालू किया जाता है जब ऑनस्टार्ट() को एससीएम, ऑनस्टॉप() द्वारा बुलाया जाता है, यह पहले से चल रहा है इसलिए हम इसे फिर से निष्पादित नहीं करेंगे।सी # Windows सेवा मुख्य विधि

किसी को भी इस क्षेत्र के बारे में बहुत कुछ जानता है और विस्तार से बता सकते हैं कि मैं यह जानना चाहेंगे तो।

मैं एक expeirenced प्रोग्रामर हूँ, मैं क्या मुख्य विधि सामान्य रूप में करता है का एक विवरण की जरूरत नहीं है ... बस यह कैसे खिड़कियों सेवाओं के संयोजन से काम करता है।

+0

आपको पता होना चाहिए कि मुख्य विधि केवल कंपाइलर के लिए "मुख्य" है, इसलिए यह विंडोज़ सेवाओं को शुरू करने के साथ कुछ भी नहीं है। –

उत्तर

13

जब आप नियंत्रण कक्ष एप्लेट का उपयोग एससीएम शुरू करने के लिए सेवा को बताने के लिए प्रक्रिया की शुरूआत; यह मुख्य() को चलाने के लिए कोड का कारण बनता है। मुख्य() विधि में ServiceBase.Run() लाइन एससीएम में संबंधित सेवाओं को हुक करती है जो फिर ServiceBase.Run() विधि कॉल में निर्दिष्ट प्रत्येक सेवा के लिए ऑनस्टार्ट() विधि को कॉल करती है।

+1

क्या होता है यदि मुख्य() अपवाद फेंकता है? क्या नियंत्रण कक्ष एप्लेट उपयोगकर्ता को सूचित करता है कि कुछ गलत हो गया है? – PaulK

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