Возникла исключительная ситуация при отправке обновления: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта - PullRequest
0 голосов
/ 12 марта 2019

Я добавил коды обработки push-уведомлений в приложение UWP форм xamarin.

Коды:

async Task InitRemoteNotificationAsync()
    {
        var channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
        if (channel != null)
        {
            channel.PushNotificationReceived += OnPushNotificationReceived;
            Debug.WriteLine($"Received token:{channel.Uri}");
        }
    }

private void OnPushNotificationReceived(PushNotificationChannel sender, PushNotificationReceivedEventArgs args)
    {

        if (args.ToastNotification.Content.InnerText != null)
        {
            var msg = args.ToastNotification.Content.InnerText;
            Xamarin.Forms.MessagingCenter.Send<object, string>(this, MyProject.App.NotificationReceivedKey, msg);
        }
    }

Я добавил нулевые проверки в мои коды. Когда я пытаюсь отправить тестовое уведомление от http://pushtestserver.azurewebsites.net/wns/, появляется следующее исключение.

Исключительная ситуация при отправке обновления: System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. в WebRole1.WNS.WebForm1.PostToWns (строковый секрет, строковый sid, строковый uri, строковый xml, строковый messagesType, строковый contentType) на WebRole1.WNS.WebForm1.btnDiyPush_Click (Отправитель объекта, EventArgs e)

Скриншот:

enter image description here

1 Ответ

1 голос
/ 12 марта 2019

Исключение явно выдается в веб-роли, прежде чем сообщение будет отправлено в ваше приложение.

С этим клиентским приложением ничего нельзя поделать. Ваш код никогда не выполняется. Исправление должно быть применено к веб-роли. Создайте свой собственный или используйте тот, который действительно работает.

...