如何为DeleteAsync设置标头

Mar*_*rkF 8 c# async-await dotnet-httpclient

我正在尝试在HttpClient.DeleteAsync请求上设置自定义标头.我试过用了

httpClient.DefaultRequestHeaders.Add("X-Parse-Application-Id",ParseAppID);
Run Code Online (Sandbox Code Playgroud)

但得到这个错误

Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects.
Run Code Online (Sandbox Code Playgroud)

HttpClient.SendAsync可以发送自定义请求标头

System.Net.Http.HttpRequestMessage.Headers.Add("X-Parse-Application-Id",ParseAppID);
Run Code Online (Sandbox Code Playgroud)

和HttpClient.PostAsync可以发送它们

System.Net.Http.StringContent.Headers.Add("X-Parse-Application-Id",ParseAppID);
Run Code Online (Sandbox Code Playgroud)

如何使用DeleteAsync执行此操作?

ria*_*njs 4

实例化HttpRequestMessage并使用SendAsync

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();
}
Run Code Online (Sandbox Code Playgroud)