Die API, die ich aufrufen möchte, erfordert, dass ich einen POST durchführe, jedoch mit einem leeren Körper. Ich bin neu in der Verwendung der WCF-Web-API HttpClient und kann den Schreibcode, der einen Beitrag mit einem leeren Text erstellen würde, anscheinend nicht herausfinden. Ich finde Verweise auf eine HttpContent.CreateEmpty () -Methode, aber ich glaube nicht, dass dies für den HttpClient-Code der Web-API gilt, da ich diese Methode scheinbar nicht finden kann.
c#
httpclient
wcf-web-api
Ryan Rinaldi
quelle
quelle
Antworten:
Verwenden Sie
StringContent
oderObjectContent
welche stammen vonHttpContent
oder Sie können verwendennull
alsHttpContent
:var response = await client.PostAsync(requestUri, null);
quelle
HttpContent
Klasse erforderlich ist ? Sollten wir zumindest etwas (sogar eine leere Zeichenfolge) bereitstellen, um einen http-Beitrag zu erstellen?null
als verwendenHttpContent
, dies wird keine Stelle in der Anfrage senden, zBvar response = await client.PostAsync(requestUri, null);
Haben Sie das schon einmal gemacht, halten Sie es einfach:
quelle
Habe das gefunden:
Fügt dem Anforderungshauptteil null hinzu, was bei WSO2 fehlgeschlagen ist. Ersetzt mit:
Und gearbeitet.
quelle
null
Inhalt poste und mir den Inhalt in derHttpRequestMessage
ansehe, erhalte ich anscheinend eine Länge von null Bytes.Verwenden Sie dieses Beispiel, um dieses Problem zu lösen:
quelle
Ich denke, das funktioniert automatisch, wenn Ihre Webmethode keine Parameter hat oder alle in eine URL-Vorlage passen.
Zum Beispiel sendet diese Deklaration einen leeren Körper:
quelle