2009-12-21 2 views
5

मैंने कुछ ऐप्स देखे हैं जो विंडोज़ सेवा के रूप में चलते हैं लेकिन फिर भी एक जीयूआई प्रदान कर सकते हैं जो उपयोगकर्ता को यह देखने की अनुमति देता है कि वास्तव में क्या चल रहा है।विंडोज सर्विस प्लस जीयूआई/सी #

उदाहरण के लिए, हमारे पास एक विंडोज सेवा है जो रिपोर्ट बनाता है। ऐसे कई आंकड़े हैं जो व्यवस्थापक देखना चाहते हैं, जैसे कि कितनी रिपोर्ट कतारबद्ध हैं, कितना रैम उपयोग में है, औसत निर्माण समय, आदि

हम क्या करना चाहते हैं एक तरीका प्रदान करना है व्यवस्थापक को यह देखने के लिए - जैसे एक ऐप जो इस जानकारी को इकट्ठा करने और प्रदर्शित करने के लिए विंडो सेवा से कनेक्ट हो सकता है ... या शायद एक तरीका है कि ऐप स्वयं ही अपना जीयूआई प्रदान कर सकता है और अनुरोध करते समय इसे प्रदर्शित कर सकता है। अभी, ऐप एकमात्र चीज है जो इसे लॉग फ़ाइल बनाता है।

क्या ऐसा करने का कोई तरीका है?

उत्तर

8

कई।

  1. कुछ प्रकार का घटक है जो आपकी विंडोज सेवा में हुक करता है और रिमोटिंग के माध्यम से किसी अन्य एप्लिकेशन को जानकारी भेजता है। यदि आपके पास आईओसी कंटेनर है तो सजावटी का चालाक उपयोग
  2. एक सेवा बस, एमएसएमक्यू, डब्ल्यूसीएफ, ग्रोल या दिलचस्प जानकारी प्रसारित करने के लिए कुछ ऐसा कर सकता है। अनुप्रयोगों को बस यह जानने की जरूरत है कि कैसे हुक करना है।
  3. किसी HTTP एंडपॉइंट या किसी चीज़ को एक्सप्लोर करें जहां कोई व्यक्ति विंडोज सेवा
  4. पर जानकारी डाउनलोड कर सकता है या बस एक पृष्ठ का WinForms ऐप बना सकता है जो लॉग फ़ाइल को हर किसी को पढ़ता है अक्सर और दिलचस्प परिणाम प्रदर्शित करता है।

(ध्यान दें कि पिछले एक दूर सरल कर रहा है -। संकेत संकेत, ऐसा)

+0

धन्यवाद - मैं remoting सेटअप। यह विकल्प # 4 की तुलना में बहुत आसान हो गया होगा ... पाठ पाठों को पार्स करना बेकार है :) – bugfixr

0

आदर्श रूप से सेवाओं को पूरी तरह से उपयोगकर्ता इंटरफ़ेस से अलग कर दिया गया है, जिन कारणों से मैं नहीं जाऊंगा।

हालांकि आप इस तरह की जानकारी देखने के लिए कुछ प्रकार के आईपीसी का उपयोग कर सकते हैं। मेरी सिफारिश सेवा से आवश्यक डेटा का अनुरोध करने के लिए रिमोटिंग का उपयोग करना होगा, और उसके बाद किसी भी अलग-अलग एप्लिकेशन में आवश्यकतानुसार रिपोर्ट या ग्राफ़ बनाना होगा।

+0

मैं रिमोटिंग के बजाय डब्ल्यूसीएफ का सुझाव दूंगा। डिज़ाइन बिंदु दृश्य से, रिमोटिंग कसकर युग्मित है और संस्करण के मुद्दों का कारण बन सकता है (एंडपॉइंट्स को रिमोट करने से डब्लूसीएफ सेवाओं तक पहुंच प्रतिबंधित करना भी बहुत आसान है); प्रौद्योगिकी बिंदु से, रीमोटिंग एक मॉरिबंड तकनीक है, जो डब्ल्यूसीएफ द्वारा अधिग्रहण की जाती है। – itowlson

0

सेवाएं यूआई API कॉल करने की अनुमति नहीं है (संदेश बॉक्स में से एक विशिष्ट रूप को छोड़कर)। तो ऐसी सेवाएं जो एक wser इंटरफेस है, वास्तव में दो प्रक्रियाएं हैं। सेवा प्रक्रिया कुछ प्रकार के मालिकाना बैकचैनल का उपयोग कर एक मानक विंडोज एपीपी के साथ संचार कर रही है। एक नामित पाइप, एक सॉकेट, या नामित साझा स्मृति का एक हिस्सा हो सकता है।