2012-06-12 7 views
5

मेरे पास एक ऐसी सेवा है जो कई मामलों में सिस्टम में चल रही है। मुझे सेवा से सेवा के DISPLAY_NAME खोजने की जरूरत है। मैंने ServiceBase.ServiceName की कोशिश की है लेकिन यह प्रोजेक्ट इंस्टॉलर से सेवा का नाम (संभवतः) लौटाता है, जो कम से कम इस मामले में बेकार है।.net में किसी सेवा का "प्रदर्शन नाम" कैसे ढूंढें?

सेवा installutil द्वारा /name= पैरामीटर के साथ स्थापित की गई है।

संपादित

मैं इमरान Balouch उत्तर के आधार पर एक समाधान है। मैंने इंस्टॉलर Me.Context.Parameters("name") में नाम पढ़ा है और इसे ImagePath रजिस्ट्री उपकुंजी में लिखें और इसे एक सेवा में Environment.GetCommandLineArgs के साथ पढ़ें।

उत्तर

4

क्या आपने अपनी विंडोज़ सेवा प्रोजेक्ट में ProjectInstaller जोड़ा है? यदि प्रोजेक्ट इंस्टालर की तुलना में हाँ आप अपनी सेवा के लिए ServiceInstaller जोड़ते हैं, और उस सेवा इंस्टालर में आप सेवा का प्रदर्शन नाम निर्दिष्ट कर सकते हैं। कि serviceinstaller का चयन करें और गुण में सेट अपने Display Name या के रूप में ProjectInstaller.Designer.cs की InitializeComponent या ProjectInstaller.Designer.vb में आप प्रदर्शन नाम निर्दिष्ट कर सकते हैं:

this.yourServiceInstaller.DisplayName = "Service Display Name"; 
+0

सेवा निर्दिष्ट नाम के साथ installutil द्वारा स्थापित है। – IvanH

+0

लेकिन आपने अपनी विंडोज़ सेवा प्रोजेक्ट में प्रोजेक्ट इंस्टॉलर जोड़ा होगा, है ना? –

+1

हां, एक MultiProjectInstaller.vb है। तो कुछ समाधान/नाम पढ़ने के लिए है (यदि संभव हो और इसे सेट करें)। – IvanH

2

आप एक ऐसी सेवा का प्रदर्शन नाम प्राप्त कर सकते हैं, अपने छोटे से ServiceName दिया ServiceController वर्ग का उपयोग करके,:,

ServiceController sc = new ServiceController(this.ServiceName); 
var displayName = sc.DisplayName; 

जैसा कि आपने कहा आप आसानी से ServiceName प्राप्त कर सकते हैं, के रूप में यह अपनी खुद की वर्ग के एक सदस्य है, ServiceBase से विरासत में मिला। एक ही मशीन पर चल रही सेवाओं के विभिन्न उदाहरणों के लिए यह सेवा नाम अलग होगा, क्योंकि यह एक अद्वितीय पहचानकर्ता है।

+1

यह एक त्रुटि के साथ बंद हो जाता है "पैरामीटर का नाम के लिए अमान्य मान।" और जब मैं सही नाम निर्दिष्ट करता हूं तो काम करता है लेकिन यह वही है जो मैं ढूंढ रहा हूं। – IvanH

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