C # HttpClient PUT

8

Aus irgendeinem Grund löst mein bisheriger Code eine Ausnahme aus:

%Vor%

Die Ausnahme, die ich bekomme, ist:

%Vor%

Es fällt mir sehr schwer, geeignete Dokumentation und Beispiele für HttpClient zu finden, und ich habe Mühe herauszufinden, warum das plötzlich nicht funktioniert (eine völlig ähnliche Methode mit StringContent anstelle von StreamContent funktioniert perfekt) ...

Es wird ursprünglich von seinem eigenen Thread aufgerufen und dann wie folgt:

%Vor%

Irgendjemand etwas offensichtliches entdecken?

Danke

AKTUALISIEREN

Stellt sich heraus, dass die Expo-Leute ihren Storage-Namen mit der IP-Adresse abbilden, damit ich zu meinem ursprünglichen Code zurückkehren konnte, war die beste Lösung. Das Problem, das ich hatte, ist etwas mit AllowAutoRedirect = false zu tun. Die Ausnahme trat bei HttpResponseMessage auf bzw. erwartet client.SendAsync (req), auch wenn wirklich keine Weiterleitung stattfand. Ich bin irgendwie verloren, warum es überhaupt passiert ist, aber mit diesem Code funktioniert jetzt alles:

%Vor%

Danke an die Leute, die versucht haben zu helfen

    
CeeRo 08.04.2013, 18:11
quelle

3 Antworten

4

Stellt sich heraus, dass die Expo-Leute ihren Storage-Namen mit der IP-Adresse abbilden, damit ich zu meinem ursprünglichen Code zurückkehren konnte, war die beste Lösung. Das Problem, das ich hatte, ist etwas mit AllowAutoRedirect = false zu tun. Die Ausnahme trat bei HttpResponseMessage auf bzw. erwartet client.SendAsync (req), auch wenn wirklich keine Weiterleitung stattfand. Ich bin irgendwie verloren, warum es überhaupt passiert ist, aber mit diesem Code funktioniert jetzt alles:

%Vor%

Danke an die Leute, die versucht haben zu helfen

    
CeeRo 28.10.2014, 13:10
quelle
0

Es sieht so aus, als ob Sie HttpPut() erneut aufrufen, aber Sie haben immer noch FileStream geöffnet. Versuchen Sie, den FileStream zu entfernen, bevor Sie HttpPut() rekursiv von sich aus aufrufen.

%Vor%

Außerdem möchten Sie möglicherweise andere IDisposable-Objekte wie die HTTP-Antwort entfernen, um sicherzustellen, dass alle Ressourcen freigegeben sind, bevor Sie tiefer in den Stack-Trace einsteigen. Dies ist ein Problem bei der Rekursion, dass Sie bei der Verwendung von Using -Anweisungen den Bereich nicht verlassen, damit sie ihre Aufgabe nicht ausführen.

    
Despertar 08.04.2013 18:20
quelle
0
%Vor%

Es scheint, dass diese Zeile einen neuen Kontext für diese Ausführung erzeugt, daher ein neuer Thread-Kontext, vielleicht können Sie das nicht, weil Sie die Sperre des FileStreams teilen.

    
Marco 08.04.2013 18:21
quelle

Tags und Links