我正在尝试将我的 APN 后台从 PHP 移动到 C# 以解决性能问题。请耐心等待,我是 C# 和单声道的新手。
我刚刚在我的 OSX 10.7.2 上下载了 MonoDevelop 2.8.6.4 和 APNS-sharp merge 26
我打开了包含所有库和测试可执行文件的整个解决方案,并构建了整个解决方案而没有错误。我修改了 JdSoft.Apple.Apns.Notifications.Test 中 Program.cs 中的字段(令牌 ID、证书文件……)以满足我的规范。经过几次尝试,我设法让我的证书文件正常,现在与 Apple 服务器的连接已建立。我在应用程序的输出中看到消息说我已连接。
问题来了。每次应用程序尝试向 Apple 发送消息时,我都会收到错误“发生类型加载异常”。我尝试了一点调试,错误似乎来自 NotificationPayload 构造函数。
逐步跟进,看来 NotificationAlert 已在 NotificationPayload 构造函数中正确实例化。返回到通知构造函数时出现错误,其中 Payload 成员在调试器中显示为“发生类型加载异常”。而不是一个对象。
从那里通知对象最终具有相同的行为。
根据我在互联网上的研究,这可能来自 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。
祝各位开发者度过愉快的一天,并提前感谢您的帮助和时间。欢迎任何建议。