как только вы сделаете это, и вы все еще не получаете push-уведомлений, я напишу в Microsoft, чтобы узнать, могут ли они увидеть что-нибудь, связанное с push-уведомлениями.

ЛЕНИЕ: заговор утолщается. Я изменил название своего канала, и он неожиданно заработал (что означает, что это не проблема с моей службой push, так как я получаю тот же HTTP-ответ от сервера push-уведомлений Microsoft).

Для меня, однако, это не решение. Как я смогу это проверить, и ЗНАЮ, что мои пользователи получают свои push-уведомления, если я получаю тот же ответ, когда он не работает, как я, когда он работает?

[ОРИГИНАЛЬНАЯ ПОЧТА]

Я пытался получать push-уведомления на свое устройство Windows Phone 7, но у меня очень большие проблемы, на которые я не могу найти ответы. Я начну с кода C #.

Я установил push-уведомления, используя следующий код C #.

private HttpNotificationChannel channel;
private static string PUSH_CHANNEL = "MySpecialPushChannel";
private Uri PushUri = null;
private bool IsPushRegistered = false;

public void StartPushSubscription()
{
    try
    {
        channel = HttpNotificationChannel.Find(PUSH_CHANNEL);
    }
    catch
    {}

    if (channel != null)
    {            
        PushUri = channel.ChannelUri;
        if (!channel.IsShellTileBound)
            channel.BindToShellTile();
    }
    else
    {
        channel = new HttpNotificationChannel(PUSH_CHANNEL);
        channel.ChannelUriUpdated += new EventHandler<NotificationChannelUriEventArgs>(channel_ChannelUriUpdated);
        channel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(channel_HttpNotificationReceived);
        channel.ErrorOccurred += new EventHandler<NotificationChannelErrorEventArgs>(channel_ErrorOccurred);

        try
        {
            channel.Open();
            channel.BindToShellTile();
        }
        catch (Exception err)
        {
            channel = null;
            IsPushRegistered = false;
            // Code to try again
        }
    }
}

void channel_ChannelUriUpdated(object sender, NotificationChannelUriEventArgs e)
{
    PushUri = e.ChannelUri;
    IsPushRegistered = true;
}

Я следую стандартной структуре толчка WP7:

Найдите HttpNotificationChannel (или создайте новый)Зарегистрируйте обработчик событий, чтобы получить push-уведомление URIОткрыть каналПривязать к плиткеОбрабатывать канал Uri (который мы отправляем на наш сервис, чтобы дождаться счастливого дня, когда мы отправляем push-уведомление

ОК ... пока все хорошо. Нет ошибок, я получаю свой Uri, отправьте его на мой сервис просто отлично. Я прикрепляю свое приложение к стартовому экрану, и моя служба отправляет push-запрос в Uri (отправляя только счетчик, чтобы в правом верхнем правом углу я получил небольшой номер счетчика). Я возвращаю HTTP 200 статус со следующим:

DeviceConnectionStatus => Подключено

NotificationStatus => Получено

SubscriptionStatus => Активный

А потом ... ничего. В моем приложении не отображается статус push. Я сейчас попробовал это на своем устройстве, в эмуляторе, на другом устройстве, и с несколькими серверами, и результат всегда одинаков. Все выглядит так, будто оно работает, за исключением того факта, что оно не работает.

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

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