2016-08-10 3 views
0

Ich warte auf einen Anruf zum Senden einer Push-Benachrichtigung mit der Aero Gear .Net client. Der Rückgabewert vom Push-Aufruf ist System.Net.HttpStatusCode. Der erwartete Code, wenn der Push erfolgreich ist, ist "Akzeptiert".Wie kann ich eine abgebrochene Anfrage bei einem erwarteten Aufruf von HttpStatusCode lösen?

Aber als ich den Anruf an die SendPushNotification Methode erwarte, wirft es einen "The request was aborted. The connection was closed unexpectedly" Fehler vor dem Httpstatuscode aus dem Verfahren in dieser Zeile zurückgegeben wird:

System.Net.HttpStatusCode status = await client.Send(unifiedMessage);  

ich markierte den Anruf von der Steuerung bis zur Push Methode als async, und hinzugefügt warten, wo ein Aufruf an eine asynchrone Methode war.

Frage:

Wie können Sie eine abgebrochene Anfrage auf erwarteten Anruf Httpstatuscode lösen?

Dies ist ein Kernpunkt des Anrufs rieselte aus dem ersten Aufruf in der Steuerung an die Push-Klasse-Methode:

Controller:

//In Controller Post action that calls SendPushNotification 

[HttpPost] 
public async Task<ActionResult> Index(Order exec_order) 
{ 
    try 
    { 


     //Send a push notification with the order details 
     try 
     { 
      MyLogger.FileLogger.Info("Before Push Notification"); 
      System.Net.HttpStatusCode status = await PushsClassLibrary.PushNotification.SendPushNotification(exec_order.Application", "Order Summary"); 
      MyLogger.FileLogger.Info("Push Notification Status: " + status); 
     } 
     catch (Exception ex) //request aborted error caught here 
     { 
      MyLogger.FileLogger.Error("Push Notification Exception -" + ex.Message); 
     } 


} 

Push-Klasse:

//In PushNotification class containing SendPushNotification 
public static async Task<System.Net.HttpStatusCode> SendPushNotification(string messageToPush, string serviceName) 
{ 
    string[] listUsers = users.ToArray(); 
    unifiedMessage.criteria.alias = listUsers; 

    System.Net.HttpStatusCode status = await client.Send(unifiedMessage);  
    return status; 
} 
+0

Sind Sie sicher, dass Ihre Methode 'SendPushNotification()' keine Ausnahme auslöst? – Rahul

Antwort

1

Ich denke, dass Statuscode, den Sie überprüfen möchten, ist HttpStatusCode.OK und ich bin mir ziemlich sicher, dass der Fehler auftritt: "Die Anfrage wurde abgebrochen. Die Verbindung wurde geschlossen unerwartet“ist eine Ausnahme. Sind Sie sicher, dass der AEROGEAR-Server ausgeführt wird, und dass Sie Proxy-Konfiguration für Ihre PushsClassLibrary?

Ansonsten auch die AEROGEAR Projekt nicht brauchen ist ein C# sender library die Sie nutzen könnten.

+0

Das ist die Bibliothek, die ich bereits benutze .. Die Proxy-Konfiguration ist da, ich habe sie ausgeblendet und einen Kern des Codes gezeigt. –

Verwandte Themen