2013-03-11 25 views
6

Ci sono molte domande su questo argomento, ma - non mi hanno dato risposta.Expect: 100-continue

Come da consigli - ce n'è uno per impostare ServicePointManager.Expect100Continue = false. Ma non è accettabile perché questo sarà un modulo, che lavora asincronicamente con decine di altri. Soluzione così accettabile: è una proprietà per connessione. Ci sono consigli su come impostare questo, ma non sembra funzionare.

Ecco il codice:

var conuri = new Uri(connectionString); 
var sp = ServicePointManager.FindServicePoint(conuri); 
sp.Expect100Continue = false; 

_request = (HttpWebRequest)WebRequest.Create(conuri); 
_request.ContentType = "text/xml"; 
_request.Method = "POST"; 

_request.ContentLength = dataToSend.Length; 
requestStream = _request.GetRequestStream(); 
requestStream.Write(dataToSend, 0, dataToSend.Length); 

Il problema è, che al punto "requestStream.Write" - intestazione Expect: 100-continue è ancora aggiunto, ma non dovrebbe secondo il consiglio che ho letto qui: C# Expect100Continue header request .

+0

Non stai usando 'sp' per creare la richiesta web. Come si propaga la bandiera "Expect100Continue'? – Tawnos

+0

Ho pensato che questa impostazione si legasse a Uri. – Hikiko

risposta

23

si può fare in questo modo:

_request.ServicePoint.Expect100Continue = false; 

Questo disabiliterà il Expect: 100-continue per una particolare HttpWebRequest istanza.

+0

Oppure modifica il web | app.config: foxontherock

Problemi correlati