मैंने एक विंडोज़ सेवा प्रोजेक्ट बनाया है। और अगर आप एक नया प्रोजेक्ट बना अगर तुम कुछ इस तरह मिलती है:क्या मुझे केवल एक नई सेवा() या अधिक का उपयोग करना चाहिए?
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
और अब मैं अपने वर्ग Service1()
करने के लिए कुछ कार्य करता है और टाइमर जोड़ने के लिए और फिर सब कुछ ठीक है। , कुछ फाइलों को पढ़ने के लिए कुछ फ़ोल्डरों को हटाने, कनेक्शन की जाँच ...
और उन सभी को async चलाना चाहिए:
अब कहते हैं, मेरी सेवा जैसे कुछ सामान करना चाहिए करते हैं। अब बेहतर क्या है? Service1() में functiont के सभी कॉपी और कुछ और नहीं बदल रहा है या हर "सामान" एक नया वर्ग के लिए बनाने के लिए (Service1(), Service2(), ...) और उनकी तरह
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service2() //not sure this will compile
};
बस जोड़ने पूछ। हो सकता है कि मुझे 100% समझ में नहीं आ रहा है कि सेवाएं कैसे काम कर रही हैं ...
दिलचस्प सवाल। मैंने सोचा है कि कभी कोशिश नहीं की। ओह, यह निश्चित रूप से * संकलित * होगा - सवाल वास्तव में है: क्या यह * काम * करता है। एपीआई को एक सरणी स्वीकार करता है, मेरी डिफ़ॉल्ट धारणा "हां, यह ठीक काम करेगी"। लेकिन ... कोशिश नहीं की है। बेशक, चूंकि सेवा को किसी भी नए धागे को शुरू करने की ज़रूरत है, इसलिए आप संचालन के 3 सेट शुरू करने के लिए केवल एक सेवा उदाहरण का उपयोग कर सकते हैं, –
क्या आपको यह देखा गया? http://stackoverflow.com/questions/1688275/can-i-have-multiple-services-hosted-in-a-single-windows-executable - जो चर्चा करता है कि क्यों नहीं बल्कि क्यों। यह वास्तव में एक डिजाइन सवाल है और आप जो कर रहे हैं उस पर निर्भर करता है। – ongle