2016-12-07 20 views
12

के साथ विंडोज सेवा .NET कोर के साथ एक विंडोज सेवा (बूट आदि पर शुरू करने में सक्षम ...) विकसित करने का कोई तरीका है?.NET कोर

सभी ट्यूटोरियल और निर्देश मुझे सिस्टम.ServiceProcess.ServiceBase का उपयोग करते हैं जो विजुअल स्टूडियो 2015 में किसी कारण से नहीं मिला और जोड़ा जा सकता है?

मैं भी तृतीय पक्ष टूल/पुस्तकालयों जैसे SrvStart का उपयोग करने से बचने का प्रयास करता हूं। टॉपशेल्फ़ की तरह कुछ स्वीकार्य होगा लेकिन ऐसा लगता है कि .NET कोर के लिए उपलब्ध नहीं है।

और यह बहुत अच्छा होगा अगर सेवा विंडोज़ और लिनक्स के तहत चल सकती है।

कोई विचार मैं इसे कैसे प्राप्त कर सकता हूं?

+0

जानकारी के लिए धन्यवाद। हालांकि मेरा लक्ष्य एक होस्टेड वेब सेवा की तुलना में पृष्ठभूमि वोकर है। – monty

+0

मैंने एक लाइब्रेरी बनाई है जो आपके लिए इस प्रक्रिया को सरल बनाना चाहिए। आप इसे यहां https://github.com/PeterKottas/DotNetCore.WindowsService पा सकते हैं। आशा है कि आप इसे उपयोगी पाएंगे। –

+1

आप दो अलग-अलग चीजें उपयोग कर सकते हैं। https://github.com/dasMulli/dotnet-win32- सेवा https://github.com/aspnet/Hosting/tree/dev/src/Microsoft.AspNetCore.Hosting.WindowsServices – TerribleDev

उत्तर

2

मैं कुछ विकल्प को संक्षेप में प्रस्तुत करेंगे:

  1. एक .NET स्टैंडर्ड पुस्तकालय में अपने कोड को इस प्रकार है, और एक .नेट फ्रेमवर्क अनुप्रयोग में होस्ट करना, ताकि आप ServiceBase उपयोग कर सकते हैं। निश्चित रूप से यह इच्छा (यह एक सार्वजनिक डोमेन लाइसेंस है)
  2. उपयोग विंडोज एक .NET कोर कंसोल अनुप्रयोग का प्रबंधन करने के लक्ष्य मशीन
  3. उपयोग NSSM (गैर-सकिंग सेवा प्रबंधक) पर स्थापित किया जा करने के लिए .NET फ्रेमवर्क की जरूरत है एपीआई विंडोज सेवा विधियों में हुक करने के लिए कहते हैं। यह DotNetCore.WindowsService और dotnet-win32-service (दोनों एमआईटी लाइसेंस प्राप्त हैं)