5

एक संग्रहित अधिसूचना चैनल यूआरआई बाँध सकता है जबकि मेरा ऐप निष्क्रिय है - यानी, बंद, टॉम्बस्टन या निष्क्रिय। निष्क्रियता की अवधि के बाद मेरी वेब सेवा के साथ चैनल यूआरआई को अपडेट करने का सबसे अच्छा अभ्यास क्या है?ऐप निष्क्रियता के बाद एमपीएनएस चैनल यूआरआई को अपडेट करने के लिए कैसे करें

वेब पर विभिन्न लेख वेब सेवा पर भेजने के लिए यूआरआई को "पुनर्प्राप्त" का उल्लेख करते हैं। लेकिन जहां तक ​​मैं कह सकता हूं, चैनल एआरआई सीखने के लिए मेरे ऐप का एकमात्र तरीका ChannelUriUpdated ईवेंट HttpNotificationChannel पर है, और यह घटना मेरे नियंत्रण में नहीं है। मेरे ऐप निष्क्रिय होने पर एमपीएनएस ने यूआरआई बदल दिया होगा। यदि ऐप ChannelUriUpdated का जवाब नहीं दे सका, तो यूआरआई तब मेरे ऐप और मेरी वेब सेवा दोनों में पुरानी होगी।

शायद HttpNotificationChannel.Find द्वारा लौटाया गया एक चैनल हमेशा अद्यतित चैनल यूआरआई रखने की गारंटी देता है?

+0

स्पष्टीकरण के लिए, मैं सामान्य रूप से चैनल यूआरआई को ट्रैक करने का तरीका नहीं पूछ रहा हूं। मैं पूछ रहा हूं कि _ensure_ कैसे करें कि चैनल यूआरआई तुरंत अद्यतित है _after_ ऐप निष्क्रियता की अवधि (जैसे, tombstoning) से उठता है। – lencharest

+0

जब आपका ऐप टॉम्बस्टनिंग से उठता है, यदि आपका वर्तमान चैनल अमान्य हो गया है, तो आपको शून्य अधिसूचना चैनेल मिलेगा। चैनेलयूरी। उस स्थिति में, बस अपने webservice को सूचित करें और ChannelUriUpdated से नया लिंक प्राप्त करने का इंतजार करें। MPNS से ​​एक नया चैनल यूआरआई खींचने का कोई तरीका नहीं है। –

उत्तर

0

सामान्य सर्वोत्तम अभ्यास जब भी ऐप शुरू होता है तो वर्तमान चैनल उरी का अनुरोध करना है। ऐप के भीतर आपको अंतिम मूल्य (एप्लिकेशन आमंत्रण में) के ट्रैक को ट्रैक रखना चाहिए और यदि यह आपकी वेब सेवा पर अपलोड करने के लिए बदला गया है।

+0

आप चैनल यूआरआई का अनुरोध कैसे करते हैं? ChannelUriUpdated ईवेंट MPNS को ऐप पर एक नया मान धक्का देता है, लेकिन मैं एमपीएनएस से वर्तमान यूआरआई को "खींच" कैसे सकता हूं? मुझे इसके लिए एक एपीआई नहीं दिख रहा है। – lencharest

+0

आगे प्रतिबिंब पर, मैं सोच रहा हूं कि क्या आपका मतलब है कि मुझे बस Http.NotificationChannel.ChannelUri प्रॉपर्टी मिलनी चाहिए। – lencharest

+0

@lencharest मुझे लगता है कि आपको चैनल UriUpdated ईवेंट निकाल दिया जाने पर हर बार नई यूआरआई को अलग स्मृति में स्टोर करना होगा। फिर कभी खत्म होने वाले चक्र के रूप में, आपका अंतिम सहेजा गया चैनल उरी "चालू" है और अधिसूचना घटना में दिखाई देने वाला नया चैनल नया है। तुलना करें, और यदि वे अलग हैं, तो अपनी webservice को सूचित करें। –

0

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

नोट: - उस कार्यक्षमता का लाभ उठाने के लिए, आपको हर बार अपना ऐप शुरू करने के लिए सम्मिलित करना होगा। उम्मीद है की यह मदद करेगा।