web-dev-qa-db-fra.com

Comment désactiver l'en-tête «Expect: 100 continue» dans HttpWebRequest de WinRT

Je développe une application qui, pour des raisons de code héritées, ne peut pas être mise à niveau pour le nouveau HttpClient donc j'utilise HttpWebRequests.

Dans .NET 4, nous pouvions désactiver l'en-tête Expect (sur les demandes de publication) en utilisant ServicePoint.Expect100Continue , mais sur WinRT, elle n'est pas disponible.

Comment cela peut-il être accompli sur WinRT?

ÉDITER: System.Net.ServicePointManager.Expect100Continue n'est pas disponible non plus.

31
DVD
        var c = new HttpClient();
        c.DefaultRequestHeaders.ExpectContinue = false;
46
Flatliner DOA

Mettez ceci est votre webconfig.

 <system.net>
 <settings> 
 <servicePointManager expect100Continue="false"/>  
 </settings> 
 </system.net>

Fonctionne aussi! J'utilise ceci dans mon application web. Mais la réponse ci-dessus est tout aussi bonne!

12
8bitcat

Il semble que vous ayez la seule option pour remplacer BeginGetRequestStream. HttpWebRequest a une méthode privée MakeRequest et dans celle-ci, l'en-tête Expect100Continue est ajouté à la collection d'en-têtes de demande.

1
Radin Gospodinov