मैं एक ऐप बना रहा हूं जिसमें फोरग्राउंड ऐप (ज़ाहिर है) और एक आवधिक टास्क और एक संसाधन इंटरेन्स्ट टास्क।विंडोज फोन पर एक अग्रभूमि ऐप से अनुसूचित कार्य को कैसे सिग्नल करें?
यदि उपयोगकर्ता चल रहे हैं तो उपयोगकर्ता स्वयं ऐप लॉन्च करता है तो मुझे निर्धारित कार्यों को बंद करने का एक तरीका चाहिए।
मुझे सिस्टम-व्यापी म्यूटेक्स के साथ ऐसा करने का कोई तरीका नहीं दिख रहा है। आदर्श रूप से जब पृष्ठभूमि कार्य शुरू हुआ, तो एक धागा फेंक दिया जाएगा जो अग्रभूमि ऐप से सिग्नल के लिए सुनता है, और यदि यह संकेत मिलता है तो यह पृष्ठभूमि कार्य को बंद कर सकता है।
मतदान के अलावा (जैसे कि एक विशिष्ट फ़ाइल के लिए एक फ़ोल्डर), किसी को कैसे मेरे अग्रभूमि एप्लिकेशन मेरी पृष्ठभूमि एजेंटों संकेत को बंद करने का अगर अग्रभूमि एप्लिकेशन शुरू की है सकते हैं पर एक साफ सुझाव है?
मैं सॉकेट की ओर बढ़ रहा हूं, लेकिन यह ओवरकिल जैसा लगता है।
पृष्ठभूमि: मैं वर्तमान में IsolatedStorage उपयोग कर रहा हूँ मेरे डेटा (एक डेटाबेस नहीं) स्टोर करने के लिए - अंत में मैं एक डेटाबेस का उपयोग करने के लिए ले जाया जाएगा।
मेरा अग्रभूमि ऐप स्थानीय डेटा को वेब सेवा के साथ सिंक्रनाइज़ करता है, और वेब सेवा से नए आइटम जोड़े जाने पर UI को अपडेट करता है। मैं एक फ़ाइल का उपयोग करता हूं जिसे मैं डेटा आइटम ढूंढने के लिए खोजता हूं, और जिसे मैं जोड़ता हूं क्योंकि नए आइटम सिंक हो जाते हैं।
मैं चाहता हूं कि पृष्ठभूमि एजेंट पृष्ठभूमि में इस सिंक्रनाइज़ेशन को निष्पादित करने के लिए चलें, अलग-अलग स्टोरेज में फ़ाइलों को अद्यतन करना, इंडेक्स सहित इत्यादि। लेकिन जैसे ही मैं अग्रभूमि ऐप शुरू करता हूं, मुझे पृष्ठभूमि ऐप को रोकने की आवश्यकता होती है, इसलिए कि अग्रभूमि और पृष्ठभूमि दोनों एक ही समय में एक ही फाइल को अद्यतन करने का प्रयास नहीं करते हैं।
मुझे एक समय में स्थानीय डेटा को अपडेट करने के लिए केवल एक प्रक्रिया की आवश्यकता है, और पृष्ठभूमि प्रक्रिया को पूर्ववत करने के लिए मुझे अग्रभूमि प्रक्रिया की आवश्यकता है।
मैं एप्लिकेशन के रूप में एक ही समय में चलाने के लिए सक्षम होने के लिए अपने एजेंट डिजाइन करने के लिए धक्का होगा। यदि आपके पास कुछ ऐसा अच्छा उदाहरण है जिसका अर्थ है कि यह संभव नहीं हो सकता है तो मुझे इसे सुनना होगा। –
मैंने कुछ पृष्ठभूमि जानकारी जोड़ा है। अनिवार्य रूप से मेरे पास एक ही फाइल को एक ही समय में संशोधित करने की प्रक्रिया नहीं हो सकती है, और मैं चाहता हूं कि अग्रभूमि प्रक्रिया पृष्ठभूमि प्रक्रिया को पूर्ववत करे। – Damian