Ich habe den folgenden Code, der auf .NET 4.0 funktioniert. Aber wenn ich das Zielframework auf .NET3.5 änderte, läuft es ohne Fehler, aber nicht mit dem Upload.System.Net.Http.HttpClient.PostAsync funktioniert nicht in .net3.5, aber in 4.0
Wenn debugged seine überspringen von der Linie resp.Result.EnsureSuccessStatusCode();
und führt nie die Zeilen unter oder zumindest die catch-Block.
(Übrigens ich System.Net.Http hinzugefügt haben 3,5 von hier nach .net seit Httpclient nicht mit NET3.5 ausgeliefert - https://www.nuget.org/packages/Rackspace.HttpClient35/1.0.0-beta003)
public string pp(string bb,string code,string kb)
{
try
{
HttpClient httpClient = new HttpClient();
MultipartFormDataContent formx = new MultipartFormDataContent();
formx.Add(new StringContent(code), "fn");
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(kb);
string kbb= System.Convert.ToBase64String(plainTextBytes);
formx.Add(new StringContent(kbb), "kb");
formx.Add(new StringContent(bb), "img");
var resp = httpClient.PostAsync("http://s.*****.com/put.php", formx);
resp.Result.EnsureSuccessStatusCode();
httpClient.Dispose();
string rep = resp.Result.Content.ReadAsStringAsync().Result;
return rep;
}
catch (Exception ee) {
return "no";
}
}
Ich sehe das gleiche Problem, aber der seltsamste Teil ist, dass ich erfolgreich einen 'GetAsync' Aufruf ausführen kann, aber die' PostAsync' und 'SendAsync' Methoden hängen. – TPoschel
Ich glaube, dass ich einen bekannten Fehler mit der Rackspace.HttpClient35-Bibliothek gefunden habe: https://github.com/tunnelvisionlabs/dotnet-httpclient35/issues/11 – TPoschel