Ich habe ein ziemlich verwirrendes Problem zur Hand. Versucht, einige JSON-Dateien in einigen .php-Dateien auf einem Remote-Server zu veröffentlichen.C# WebClient UploadStringAsync braucht Zeit, um irgendwann auszuführen
Der Code sind die folgende:
wc = new WebClient();
Uri urlToRequest = new Uri(webserviceUrl + url);
wc.UploadStringCompleted += new UploadStringCompletedEventHandler(wc_DownloadDataCompleted);
wc.Headers.Add(HttpRequestHeader.ContentType, "application/json");
var stopwatch = Stopwatch.StartNew();
wc.UploadStringAsync(urlToRequest, json);
Console.WriteLine("Async time: " + stopwatch.ElapsedMilliseconds);
ich auf dem gleichen Server zu 2 PHP-Dateien bin Entsendung, die gleiche JSON (erwarteten unterschiedlichen Ergebnisse).
Als ich in die erste Datei schreiben bekomme ich diese in der Konsole:
Async time: 2576
Wenn ich auf die andere veröffentliche ich diese bekommen in der Konsole:
Async time: 0
Die JSON ich das Senden bin ist eine wirklich einfache {"user":"bob","action":"get"}
Wenn Debuggen und ich einen Haltepunkt zum Beispiel bei wc = new WebClient();
setzen und gehen Sie Schritt für Zeile, beim ersten Anruf der Schritt über h angs bei UploadStringAsync
für 2-3 Sekunden, aber beim zweiten Aufruf springt es einfach über (wie es sollte).
Die .php-Dateien befinden sich auf demselben Server. Irgendwelche Ideen, warum derselbe Anruf sich in 2 Aufrufen anders verhält, und sollte nicht UploadStringAsync
in allen Fällen async sein?
Sind Sie sicher, dass der Server das Ergebnis nicht das zweite Mal zwischenspeichert? –