HttpResponseMessage

CopWorker

Erfahrenes Mitglied
Hallo zusammen,

in meinem Projekt setzt ich über meinen Http-Client ein POST ab.
C#:
private HttpClient clHttpClient;
der Rückgabewert ist vom Typ "Task<HttpResponseMessage>"
C#:
Task<HttpResponseMessage> thResult = clHttpClient.PostAsync(strUri, scJsonContent);
Im Result der ResponseMessage komme ich an alle Inhalte ran nur nicht an die "Content-Length" und "Content-Type" nicht.
Folgendes funktioniert:
C#:
if (thResult.Result.Headers.TryGetValues("Location", out values))
    sResponse.strLocation = values.First();

sResponse.iStatusCode = Convert.ToInt32(thResult.Result.StatusCode);

Folgendes funktioniert nicht:
C#:
if (thResult.Result.Headers.TryGetValues("Content-Length", out values))
    sResponse.iContentLength = Convert.ToInt32(values.First());

Allerdings bin ich mir nicht sicher ob der Parameter "Content-Length" im Headers drin steckt.
Hier der Text wenn ich thResult.Result als String ausgebe.
C#:
strResultText = thResult.Result != null ? thResult.Result.ToString() : "Noch nicht berechnet";
C#:
StatusCode: 201, ReasonPhrase: 'Created', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:$;${$;$  Date: Thu, 17 Jun 2021 05:59:53 GMT$;$  Location: http://127.0.0.1:48249/api/Tasks/7$;$  Server: Microsoft-HTTPAPI/2.0$;$  Content-Length: 217$;$  Content-Type: application/json; charset=utf-8$;$}

Jede Hilfe ist mir willkommen.

Vielen Dank.
Grüße von CopWorker
 
Hallo Spyke,

wenn alle nur so einfach wäre.
Funktioniert.
In die Headers von Content habe ich nicht reingeschaut.

Hab´s auf diesem Wege versucht.
C#:
IEnumerable<string> values;

if (thResult.Result.Headers.TryGetValues("Location", out values))
    sResponse.strLocation = values.First();

if (thResult.Result.Headers.TryGetValues("Content-Length", out values))
    sResponse.strLocation = values.First();

Vielen Dank nochmals.
Grüße von CopWorker
 
Zurück