2015-05-15 26 views
7

Ich versuche benutzerdefinierte Header für eine HttpClient.DeleteAsync-Anfrage festzulegen. Ich habe versucht mitSo legen Sie Header für DeleteAsync fest

httpClient.DefaultRequestHeaders.Add("X-Parse-Application-Id",ParseAppID); 

aber erhalten diesen Fehler

Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects. 

HttpClient.SendAsync können benutzerdefinierte Request-Header mit

System.Net.Http.HttpRequestMessage.Headers.Add("X-Parse-Application-Id",ParseAppID); 

und HttpClient.PostAsync können sie senden mit

senden
System.Net.Http.StringContent.Headers.Add("X-Parse-Application-Id",ParseAppID); 

Wie kann ich t sein mit DeleteAsync?

+0

Ich bin nicht in der Lage, dies zu reproduzieren. Der Code [hier] (https://gist.github.com/mattwcole/5124b49cd9efec4bd7eb) funktioniert ohne Probleme für mich. Bist du dem auf den Grund gegangen? –

Antwort

1

Instantiate ein HttpRequestMessage und verwendet SendAsync statt:

var request = new HttpRequestMessage(HttpMethod.Delete, requestUri); 
request.Headers.Add("X-Parse-Application-Id", ParseAppID); 

using (var response = await _calendarClient.SendAsync(request).ConfigureAwait(false)) 
{ 
    if (response.StatusCode.Equals(HttpStatusCode.NotFound)) 
    { 
     return; 
    } 
    response.EnsureSuccessStatusCode(); 
} 
Verwandte Themen