Zapisany identyfikator URI kanału informacyjnego może przestać działać, gdy moja aplikacja jest nieaktywna - tzn. Zatrzymana, nagwana lub uśpiona. Jaka jest najlepsza praktyka aktualizowania identyfikatora URI kanału przez moją usługę internetową po okresie bezczynności?Jak zaktualizować identyfikator URI kanału MPNS po nieaktywności aplikacji?
Różne artykuły w Internecie wspominają o "pobieraniu" URI w celu wysłania go do serwisu internetowego. Ale z tego co wiem, jedynym sposobem, w jaki moja aplikacja może nauczyć się identyfikatora URI kanału, jest zdarzenie ChannelUriUpdated
na HttpNotificationChannel
, a podniesienie tego wydarzenia nie jest pod moją kontrolą. Protokół MPNS mógł zmienić identyfikator URI, gdy moja aplikacja była nieaktywna. Jeśli aplikacja nie mogła odpowiedzieć na ChannelUriUpdated
, identyfikator URI byłby nieaktualny zarówno w mojej aplikacji, jak i mojej usłudze internetowej.
Być może kanał zwrócony przez HttpNotificationChannel.Find
ma zawsze aktualny identyfikator URI kanału?
Aby wyjaśnić, nie pytam, jak ogólnie śledzić identyfikator URI kanału. Pytam, jak się upewnić, że identyfikator URI kanału jest aktualny natychmiast, gdy aplikacja się obudzi z okresu bezczynności (np. – lencharest
Gdy twoja aplikacja przebudzi się z tombstoningu, jeśli twój obecny kanał stał się nieważny, otrzymasz null NotificationChannel.ChannelUri. W takim przypadku wystarczy powiadomić serwis internetowy i poczekać na nowy link z ChannelUriUpdated. Nie ma możliwości pobrania nowego identyfikatora URI kanału z MPNS. –