2010-07-18 11 views
6

मैं सी # इननेट के साथ एक विंडोज सेवा बनाने की कोशिश कर रहा हूं जो उपयोगकर्ता लॉग ऑन होने से पहले चलता है ... तब जब कोई उपयोगकर्ता प्रतीक पर लॉग ऑन होता है तो सिस्टम ट्रे में दिखाई देना चाहिए (घड़ी के बगल में) उपयोगकर्ता को दिखाने के लिए कि सेवा चल रही है .. उस पर डबल क्लिक करके कॉन्फ़िगरेशन उपयोगिता (wpf में लिखी गई) को उपयोगकर्ता को दिखाया जाना चाहिए, इसलिए वह सेवा को कॉन्फ़िगर कर सकता है, इससे डेटा पढ़ सकता है और तो ..डब्ल्यूपीएफ प्रबंधन उपकरण के साथ विंडोज सेवा

क्या यह एक आवेदन के भीतर ऐसा करने की संभावना है?

किसी भी मदद के लिए अग्रिम धन्यवाद !!!

उत्तर

4

नहीं, आप इसे एक आवेदन के साथ नहीं कर सकते क्योंकि एक अलग सत्र में एक अलग उपयोगकर्ता के साथ चलने वाली सेवाएं। आपको दो अनुप्रयोगों को बनाने और दोनों के बीच कुछ संचार लागू करने की आवश्यकता है।

मैं सीधे नामित पाइप का उपयोग करने की सिफारिश नहीं करता (जैसे Kieren Johnstone suggested), लेकिन डब्ल्यूसीएफ पर एक नज़र डालने के लिए जो इंटरप्रोसेस संचार के लिए डिज़ाइन किया गया था और अच्छी तरह से संचार प्रौद्योगिकी के कार्यान्वयन विवरण को आपके द्वारा दूर किया गया है। यहां एक लिंक है जो आपको डब्ल्यूसीएफ: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication के साथ संभावित रूप से मदद कर सकता है।

सर्वश्रेष्ठ सादर,
ओलिवर हनप्पा

3

एक आवेदन के भीतर, नहीं। सत्र 0 में चलाने सेवाएं, कृपया यहां देखें:

http://www.microsoft.com/whdc/system/sysinternals/session0changes.mspx

आपका सबसे अच्छा शर्त नामांकित पाइप्स का इस्तेमाल किया है, यहाँ देख रहा है:

http://www.switchonthecode.com/tutorials/dotnet-35-adds-named-pipes-support

.. .. या एक मेमोरी मैप की गई फ़ाइल, यहां देखें:

http://msdn.microsoft.com/en-us/library/dd997372.aspx

अधिक-.NETty के दायरे के भीतर, आप भी दूरस्थ इस्तेमाल कर सकते हैं। सेवा और प्रबंधन उपयोगिता के बीच संचार की सुविधा के लिए आपको कुछ इंटरफेस या प्रोटोकॉल के साथ आने की आवश्यकता होगी। प्रक्रिया शुरू करना/बंद करना आसान होगा और आप ServiceController कक्षा (MSDN ref) का उपयोग कर सकते हैं।

आशा है कि मदद करता है (और यह भी निराशाजनक नहीं है)!

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