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
 

CopWorker

Erfahrenes Mitglied
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