Comment définir plusieurs en-têtes à l'aide de PostAsync en C #?
J'ai un code fonctionnel:
using (var client = new HttpClient())
{
HttpResponseMessage response;
response = client.PostAsync(Url, new StringContent(Request, Encoding.UTF8, header)).Result;
}
//le ci-dessus fonctionne très bien pour un simple en-tête, par exemple "application/json"
Que dois-je faire, si je veux avoir plusieurs en-têtes? E. g. l'ajout de "maclé", "foo" paire et "Accepter", "image/toto1"
Si j'essaie adjonction, avant l' .Résultat de la ligne, intellisense se plaint (le mot "en-Têtes" est en rouge avec "ne Peut pas résoudre le symbole "en-Têtes"":
client.Headers.Add("myKey", "foo");
client.Headers.Add("Accept", "image/foo1");
source d'informationauteur n as
Vous devez vous connecter pour publier un commentaire.
Vous pouvez accéder à la
en-Têtes
de la propriété par le biais de laStringContent
:Puis passer le StringContent à la
PostAsync
appel:J'ai cessé d'utiliser la Post/Get *méthodes Asynchrones en faveur de la
SendAsync(...)
méthode etHttpRequestMessage
Envoyer Async est le grand frère qui vous permet pleinement de la souplesse vous ne pouvez pas atteindre.
Vous pouvez également utiliser
Si vous voulez juste définir les en-têtes sur la classe HttpClient juste une fois. Voici la MSDN docs sur DefaultRequestHeaders.TryAddWithoutValidation