Я пытаюсь переместить свой APN backoffice из PHP в C # из-за проблем с производительностью. Терпите меня, я новичок в C # и моно.
Я только что скачал MonoDevelop 2.8.6.4 и APNS-sharp merge 26 на мою OSX 10.7.2
Я открыл все решение со всеми библиотеками и тестовыми исполняемыми файлами и построил все решение без ошибок. Я изменил поля (идентификатор токена, файл сертификата, ...) в Program.cs в JdSoft.Apple.Apns.Notifications.Test, чтобы соответствовать моим спецификациям.
После нескольких попыток мне удалось получить файл сертификата в порядке, и теперь соединение с серверами Apple установлено. Я вижу сообщение о том, что я подключен на выходе приложения.
Проблема наступает сейчас. Каждый раз, когда приложение пытается отправить сообщение в Apple, я получаю сообщение об ошибке «Произошло исключение при загрузке типа». Я попытался немного отладить, и ошибка, кажется, исходит от конструктора NotificationPayload.
Выполняя пошаговые инструкции, кажется, что NotificationAlert правильно создается в конструкторе NotificationPayload. Ошибка появляется при возврате в конструктор уведомлений, где элемент полезной нагрузки отображается в отладчике как «Произошло исключение при загрузке типа». вместо объекта.
Оттуда объект уведомления заканчивается таким же поведением.
Из моих исследований в Интернете это может быть связано с версией Newtonsoft.Json.Compact.dll, но я понятия не имею, что делать с этой информацией.
Для получения информации я вижу ту же ошибку при запуске скомпилированного теста на моем сервере CentOS.
И для получения дополнительной информации сообщение приложения (измененное ex.Message на ex.ToString () в тестовой программе, чтобы получить полную ошибку):
Notification Queued!
Sleeping 15000 milliseconds before next Notification...
Connecting...
Connected...
Error: System.TypeLoadException: A type load exception has occurred.
at JdSoft.Apple.Apns.Notifications.Notification.ToBytes () [0x0006c] in /Users/laurent/Downloads/Redth-APNS-Sharp-595275f 2/JdSoft.Apple.Apns.Notifications/Notification.cs:90
at JdSoft.Apple.Apns.Notifications.NotificationChannel.Send (JdSoft.Apple.Apns.Notifications.Notification notification) [0x00000] in /Users/laurent/Downloads/Redth-APNS-Sharp-595275f 2/JdSoft.Apple.Apns.Notifications/NotificationChannel.cs:371
at JdSoft.Apple.Apns.Notifications.NotificationConnection.workerMethod () [0x00035] in /Users/laurent/Downloads/Redth-APNS-Sharp-595275f 2/JdSoft.Apple.Apns.Notifications/NotificationConnection.cs:381
Я не ставил код, так как я ничего не изменил по сравнению с тем, который вы видите на https://github.com/Redth/APNS-Sharp.
Я посылаю SOS всем моно гуру вокруг.
Хорошего дня товарищи разработчики и заранее спасибо за помощь и время. Любые предложения приветствуются.