Windows Phone 8 push-уведомление push-канал всегда создает новый канал

Я хотел проверить правильность моей реализации push-уведомлений.

Каждый раз, когда я открываю свое приложение (на самом деле я регистрирую push-канал только на определенной странице, поэтомуКаждый раз, когда я возвращаюсь с этой страницы назад), создается новый URI push-канала, который я сохраняю в своей базе данных мобильных сервисов для отправки push-уведомлений. Это неМне кажется это правильным, так как каждый раз, когда приложение / страница открывается, генерируется новый URI push-канала, и поэтому список URI канала просто растет и увеличивается для каждого устройства, которое использует мое приложение. Я'Предположим, что вы создаете push-канал, сохраняете URI канала и при необходимости добавляете к нему канал. Я отмечу здесь, что я использую необработанные push-уведомления.

Я понимаю, что пуш каналы истекают очень часто, но для меня этоЭто происходит каждый раз, когда я возвращаюсь из приложения / страницы, и поэтому, когда вызывается onNavigateTo, я нахожу канал push, который существует, и всегда создается новый URI канала. Это правильно?

Мой код выглядит следующим образом:

защищенное переопределение void OnNavigatedTo (NavigationEventArgs e) {registerPushChannel (); }

private void registerPushChannel()
    {
        // The name of our push channel.
        string channelName = "RawSampleChannel";

        // Try to find the push channel.
        pushChannel = HttpNotificationChannel.Find(channelName);

        // If the channel was not found, then create a new connection to the push service.
        if (pushChannel == null)
        {
            pushChannel = new HttpNotificationChannel(channelName);

            // Register for all the events before attempting to open the channel.
            pushChannel.ChannelUriUpdated += new EventHandler(PushChannel_ChannelUriUpdated);
            pushChannel.ErrorOccurred += new EventHandler(PushChannel_ErrorOccurred);
            pushChannel.HttpNotificationReceived += new EventHandler(PushChannel_HttpNotificationReceived);

            pushChannel.Open();

        }
        else
        {
            // The channel was already open, so just register for all the events.
            pushChannel.ChannelUriUpdated += new EventHandler(PushChannel_ChannelUriUpdated);
            pushChannel.ErrorOccurred += new EventHandler(PushChannel_ErrorOccurred);
            pushChannel.HttpNotificationReceived += new EventHandler(PushChannel_HttpNotificationReceived);

            // code which passes the new channel URI back to my web service               

        }

    }

protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        pushChannel.Close();
    }

Таким образом, чтобы уточнить, приложение открыто и push-канал зарегистрирован, и канал uri сохранен в моем веб-сервисе. Затем веб-служба отправляет уведомления на канал URI. Когда я выхожу из приложения или страницы и возвращаюсь к нему, канал push-уведомлений обнаруживается, но создается новый канал URI, который я снова сохраняю в своем веб-сервисе. Моя таблица каналов фактически продолжает расти и расти.

Так это то, как он должен работать с постоянно генерируемыми URI новых каналов? Это как бы нене имеет смысла для меня. Я'я не уверен, как работают тосты и уведомления, но яПредположим, что URI канала должен быть статическим, когда приложение закрывается, чтобы продолжать получать уведомления, пока приложение закрыто, но, возможно, это может быть функциональность bindtotoast и bindtotile и так далее.я делаю это правильно, потому что этоs делать с необработанными уведомлениями.

Ответы на вопрос(1)

Ваш ответ на вопрос