2010-05-21 12 views
5

क्या ऐसी स्थितियां हैं जिन्हें हमें विंडोज सेवा का उपयोग करना चाहिए?
मैं क्लाइंट-सर्वर प्रोजेक्ट (सी #) का निर्माण कर रहा हूं और सर्वर को बिना किसी उपयोगकर्ता के अकेले काम करना चाहिए, इसलिए किसी ने मुझे सर्वर चलाने के लिए विंडोज सेवा का उपयोग करने की सलाह दी, क्या यह सही है? या एक बेहतर समाधान हैं?हम विंडोज सेवा का उपयोग कब करते हैं?

+3

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

उत्तर

6

अपनी स्थिति में मैं निम्नलिखित कारणों के लिए एक सेवा का प्रयोग करेंगे:

  • आप एक सत्र चल रहा है की जरूरत नहीं है। यह सुरक्षा के लिए अच्छा है, और सर्वर पर ओवरहेड भी कम करता है।
  • आप के लिए मुफ्त
    • प्रारंभ प्रबंधन में बनाया आदेशों में से कुछ मिल
    • बंद करो
    • रोकें
    • जारी
  • आप इस तरह के बंद के रूप में सर्वर की घटनाओं को संभाल सकता है।
1

आपको उपयोगकर्ता इंटरैक्शन के बिना पृष्ठभूमि में कोड चलाने के लिए एक विंडोज सेवा बनाना चाहिए।

उदाहरण के लिए, कोई भी Windows सेवा चालू नहीं होगी, भले ही कोई भी लॉग ऑन न हो।

कोई भी सर्वर जो कनेक्शन स्वीकार करता है (जैसे मेल, वेब, या एफ़टीपी सर्वर) आमतौर पर एक विंडोज सेवा होना चाहिए।

7

विंडोज सेवाओं का सामान्य रूप से उपयोग किया जाता है जब किसी एप्लिकेशन को लगातार चलने की आवश्यकता होती है। उदाहरण के लिए यदि उन्हें:

  1. इनकमिंग अनुरोधों की प्रतीक्षा करें। (जैसा दूरस्थ या WCF के माध्यम से)
  2. एक कार्यक्रम केवल समय-समय पर चलाने के लिए, एक बार एक दिन की तरह की जरूरत है एक कतार, फाइल सिस्टम आदि

की निगरानी करें। एक निर्धारित कार्य बनाना सामान्य रूप से आसान है।

6

जैसे ही मशीन संचालित हो जाती है, विंडोज सेवा चालू हो सकती है, जो सर्वर के रूप में चलने के लिए आदर्श बनाती है, उदाहरण के लिए http सर्वर। लॉगिन करने के लिए किसी को भी जरूरी नहीं है।

1

ठीक है, एक विंडोज सेवा आपके आवेदन के लिए एक पूर्ण रूपरेखा प्रदान करती है और सक्रिय होने के दौरान सक्रिय रहती है, इसलिए मुझे लगता है कि यह ठीक है।

1

विंडोज सेवाओं कुछ है कि समय के सभी चलाना चाहिए, या नहीं, एक उपयोगकर्ता के प्रवेश के लिए उपयोग करने के लिए सही काम कर रहे हैं।

आप एक सक्रिय उपयोगकर्ता के प्रवेश के बिना चलने के लिए कुछ की जरूरत है, आप की जरूरत एक विंडोज सेवा का उपयोग करने के लिए।

1

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

यदि फिर भी आप वेब सेवाओं की मेजबानी के लिए (WCF), जबकि एक सेवा के लिए एक विकल्प है, तो आप IIS में की मेजबानी पर विचार हो सकता है, इस आप वास्तविक होस्टिंग कोड आदि

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