2012-12-02 10 views
6

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

उत्तर

11

टॉपशेल्फ़ मेरी प्राथमिकता है क्योंकि यह आपको दोनों दुनिया में एक सेवा और कंसोल एप्लिकेशन का सर्वोत्तम लाभ प्राप्त करने की अनुमति देता है। Sc.exe का उपयोग करने से आप किसी कंसोल एप्लिकेशन को सेवा के रूप में निष्पादित कर सकते हैं, लेकिन exe एक सेवा के रूप में बातचीत नहीं करता है। विंडोज़ सेवाओं का विकास करना सीधे आपके पास एक सेवा है और विंडोज के साथ एक के रूप में बातचीत करते हैं, लेकिन सामान्य कंसोल एप्लिकेशन के रूप में डीबग करना या चलाने में आसान नहीं है। Topshelf आपको सेवा के रूप में चलने और सामान्य कंसोल एप्लिकेशन के रूप में चलने दोनों में से सर्वश्रेष्ठ के लिए अनुमति देता है।

+0

अब मैं अंतर देखता हूं, धन्यवाद :) – user1121956

2

विंडोज सेवाएं विशेष आवेदन प्रकार है कि प्रारंभ, बंद करो, रोकें तरह नियंत्रण संदेशों सेवा का जवाब कर रहे हैं, जारी आदि

हालांकि यह सच है कि आप में प्रक्रिया के किसी भी प्रकार चालू करने के लिए Sc.exe की तरह कुछ का उपयोग कर सकते एक सेवा, वे प्रक्रियाएं पहले उल्लिखित नियंत्रण संदेशों को संभाल नहीं पाएंगी। आपको आमतौर पर यह पता चल जाएगा कि आप एक प्रक्रिया शुरू करने में सक्षम होंगे लेकिन इसे रोक नहीं पाएंगे।

मुझे जो करना है वह मेरी सेवाओं को सार है (मुझे लगता है कि टॉपशेल्फ़ यह करता है), एक सेवा लाइब्रेरी है जो हो सकती है मूल विंडोज सेवा अनुप्रयोग या कंसोल एप्लिकेशन द्वारा लोड किया गया ताकि मैं दोनों दुनिया के सर्वश्रेष्ठ (आमतौर पर कंसोल के तहत डीबगिंग) कर सकूं।

+0

अब मैं अंतर देखता हूं, धन्यवाद :) – user1121956

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