Ich verwende NSURLSession für das Netzwerk. Das Testen in Charlesproxy mit Verbindungsabbruch zeigt, dass tatsächlich drei Anforderungen statt einer gesendet werden.Wie konfiguriert man die Wiederholungsversuche der NSURLSession-Anfrage beim Verbindungsabbau?
Es sieht aus wie eine Art von NSURLSession Low-Level-Arbeit - wenn es Verbindungsabbruch bestimmt, wird es tatsächlich mehrere weitere Anfragen senden, bevor Sie entscheiden, gibt es wirklich kein Netzwerk und Delegate/Block mit Fehler aufrufen.
Nur um meine Annahmen zu beweisen, änderte ich NSURLSessionConfiguration von defaultSessionConfiguration in backgroundSessionConfigurationWithIdentifier und es begann mehr Anfragen (4) vor dem Aufruf von Delegate/Block zu senden.
Dies ist meiner Meinung nach kein Problem, ich frage mich nur, ob es irgendwie konfiguriert werden kann.
Sind Sie sicher, dass dieselbe Anfrage erneut gesendet wird und beispielsweise nicht auf Authentifizierungsanforderungen und/oder nachfolgende Weiterleitungen reagiert wird? AFAIK, nur Sitzung Aufgaben im Hintergrund 'NSURLSession' wird automatisch erneut versuchen, wenn die Verbindung nicht hergestellt wird. – Rob
es passiert nicht, wenn keine Verbindung hergestellt wird, aber wenn es fallengelassen wird, meine ich keine Antwort mit 3xx/4xx/5xx, sondern expliziten Verbindungsabbau. Die Konfiguration, die ich erstelle, ist Standard und kein Hintergrund. – Nikita
Wie löschen Sie die Anfrage explizit? – Wain