2012-04-25 12 views
5

मैं एक Windows सेवा है कि मैं बना रहा हूं और मैं सोच रहा हूँ क्या विकल्प आदेश में उपलब्ध हैं मेरे लिए डेवलपर्स सेवा कॉन्फ़िगर कर सकते है।की अनुमति दे Windows सेवा कॉन्फ़िगर करने की

सेवा सभी बड़े ओपन सोर्स प्रोजेक्ट पर एक का हिस्सा हैं और इसलिए सेवा विभिन्न मशीनों की बहुत सारी पर स्थापित किया जा रहा है है।

सामान्य मैं इस के लिए एक वेब/app.config का प्रयोग करेंगे लेकिन मुझे यकीन है कि अगर यह संभव हो सकता है नहीं कर रहा हूँ।

इसलिए मैं तो कैसे दूसरों को इस मामले को संभालने के लिए देख रहा हूँ।

उत्तर

6

जैसा आप उम्मीद करते हैं। आप app.config का उपयोग करते हैं, जिसे प्रोजेक्ट बनाया गया है और <exeName>.config को <exeName> नामक सेवा द्वारा पढ़ा जाएगा, जिसे <exeName>.config का नाम दिया जाएगा।

सेटिंग एक स्तरित तरह से लागू किए जाते हैं और इस तरह के रूप में machine.config मशीन पर अन्य विन्यास फाइल से आ सकते हैं। आप जवाब में के बारे में how configuration is handled on MSDN

संपादित

पढ़ सकते हैं टिप्पणी करने के लिए: एक सेवा केवल config पढ़ा जाएगा जब यह (पर्फ़ कारणों के लिए) शुरू होता है। यदि आप बाद में कॉन्फ़िगरेशन फ़ाइल को फिर से लोड करना चाहते हैं, तो मुझे लगता है कि आपको स्वयं को संभालना होगा।

आप कर सकते थे निर्धारित करने के लिए फ़ाइल परिवर्तित करता है, तो किया गया है, या सेटअप एक file system watcher अंतिम संशोधित तिथि/कॉन्फ़िग फ़ाइल के समय पढ़ सकते हैं और उसके बाद फिर से अगली बार खंड फिर से लोड करने विन्यास प्रबंधक बता यह ConfigurationManager.RefreshSection("appSettings") फोन करके, पढ़ने के लिए है और उस अनुभाग को डिस्क से फिर से लोड किया जाएगा जब आप इसे अगली एक्सेस करेंगे। देखें ConfigurationManager MSDN docs

+0

app.config से सहमत है, किसी भी तरह, मैं स्वयं अपने सभी डब्ल्यूसीएफ मेजबान विंडोज सेवा और संबंधित app.config – rhapsodyn

+1

के साथ बना रहा हूं, मैं कॉन्फ़िगरेशन फ़ाइल का उपयोग करने के बारे में भी सोच रहा था, लेकिन मेरे पास एक उप प्रश्न है, जब सेवा चल रही है, क्या आप कॉन्फ़िगरेशन फ़ाइल को संशोधित कर सकते हैं और नई सेटिंग्स को सेवा में लोड किया जाएगा, या क्या इसे नई सेटिंग्स को पढ़ने के लिए रोकना/शुरू करना होगा? उदाहरण कनेक्शन तार। – harag

+0

@harag मैंने आपकी टिप्पणी का जवाब शामिल करने के लिए उत्तर अपडेट किया, लेकिन वास्तव में आपको केवल अपना प्रश्न पूछना चाहिए –

4

तुम बस exe कि सेवा के रूप में एक ही नाम के साथ एक .config फ़ाइल का उपयोग कर सकते हैं।

यदि आपकी सेवा MyService.exe के रूप में चलती है, तो यह कॉन्फ़िगरेशन फ़ाइल MyService.exe.config होगी।

विजुअल स्टूडियो में, बस एक एप्लिकेशन कॉन्फ़िगरेशन फ़ाइल जोड़ें। यह परियोजना में एक app.config फ़ाइल जोड़ देगा।

फिर आप एएसपी.Net अनुप्रयोगों के साथ कॉन्फ़िगरेशन मैनेजर क्लास का उपयोग करके AppSettings और ConnectionStrings जैसी चीजों तक पहुंच सकते हैं।

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