0

こんにちはRedth PushSharpライブラリを使用してプッシュ通知サービスを開発しています。ローカルPCからiPadに通知を送信できました。しかし、ホスティングサービスにアップロードすると、例外が発生します!! 私のコードを参照してください:

        Boolean bsandbox = true;
        string p12fileName =AppDomain.CurrentDomain.BaseDirectory + "CPDDevelopmentPushNotificationCertificate.p12";
        string p12password = "1234";
        
        string deviceID1 = "2909b25e0c699b2dc4864b4b9f719e67aac7e0fab791a72a086ffb788ba28f6a"; //
        string msg = "This is the message sent at : ";
        string alert = "Hello world at " + DateTime.Now.ToLongTimeString();
        int badge = 1;
        string soundstring = "default";
        var payload1 = new NotificationPayload(deviceID1, alert, badge, soundstring);
        payload1.AddCustom("custom1", msg); 

        var notificationList = new List<NotificationPayload> { payload1 };

        

        var push = new PushNotification(bsandbox, p12fileName, p12password);

        var rejected = push.SendToApple(notificationList);` 

MoonApns PushNotification.cs から PushNotificationクラスを取得しました。

通知を送信すると、次のエラーが発生します。

SSPI の呼び出しに失敗しました。System.ComponentModel.Win32Exception (0x80004005): 受信したメッセージは予期しないものであるか、形式が正しくありません。

System.Net.Security.SslState.CheckThrow(Boolean authSucessCheck) at System.Net.Security.SslState.get_SecureStream()

System.Net.Security.SslStream.BeginRead (Byte[] バッファー、Int32 オフセット、Int32 カウント、AsyncCallback asyncCallback、オブジェクト asyncState) で

PushNotification.cs:line 121 の PushNotification.SendQueueToapple(IEnumerable1 queue) で

PushNotification.cs:line 92 の PushNotification.SendToApple(List1 queue) で

PushNotificationIOS.cs:line 48 の PushNotificationIOS.SendPushNotification() で

これがプッシュ サービスの URL です: Test my Pushserivce Error

RackSpace Cloud Hostingを使用しています

誰でも何か考えがありますか??

4

2 に答える 2

0

重要: 正しいプッシュ証明書を使用していることを確認してください。

//Make sure you upload the certificate with your project Develop or Production
//Make sure your path to certificate is correct
//I use a appsetting key/value  in web.config to save the name of push certificate 

var appleCert = File.ReadAllBytes(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, System.Configuration.ConfigurationManager.AppSettings["appleCert"]));


push.StartApplePushService(new ApplePushChannelSettings(false,appleCert, strYourPasswordCert));



push.QueueNotification(NotificationFactory.Apple()
                    .ForDeviceToken(IosIpadDeviceTocken)
                    .WithAlert(strTitle)
                    .WithSound("default")
                    .WithBadge(1)

                    );

push.StopAllServices(true);

//This code work for me. 
于 2012-11-30T17:38:37.367 に答える
0

これをチェックして :

string deviceID1 = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
    string msg = "This is the message sent at : ";
    string alert = "Hello world at " + DateTime.Now.ToLongTimeString();
    int badge = 1;
    string soundstring = "default";
    var payload1 = new NotificationPayload(deviceID1, alert, badge, soundstring);
    payload1.AddCustom("custom1", msg); 

    var notificationList = new List<NotificationPayload> { payload1 };



    var push = new PushNotification(bsandbox, p12fileName, p12password);

    var rejected = push.SendToApple(notificationList);` 

サンドボックスを真に!

証明書もチェック

于 2013-04-30T19:31:15.337 に答える