c#httpcontent-如果匹配错误,则添加标题

c#httpcontent-如果匹配错误,则添加标题,httpcontent,Httpcontent,添加新标题“如果匹配” 抛出: Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects. 我可以添加任何其他标题,这些标题可以被编辑: using(var request = new HttpRequestMessa

添加新标题“如果匹配”

抛出:

Misused header name. Make sure request headers are used with HttpRequestMessage, response headers with HttpResponseMessage, and content headers with HttpContent objects.
我可以添加任何其他标题,这些标题可以被编辑:

using(var request = new HttpRequestMessage(HttpMethod.Put, new Uri(url))) {
    request.Headers.Remove("If-Match");
    request.Headers.TryAddWithoutValidation("If-Match", "XXXXXXXXXX");
    using (HttpContent content = new StringContent(serializedObject))
    {
        content.Headers.Remove("Content-Type");
        content.Headers.Add("Content-Type", "application/json");
    }
    // ...
}

您正在设置响应标头,但使用了请求标头保留字?我使用的api要求在PUTok的标头中放置If匹配项,不要在内容上设置它,而是在父级上设置它
using(var request = new HttpRequestMessage(HttpMethod.Put, new Uri(url))) {
    request.Headers.Remove("If-Match");
    request.Headers.TryAddWithoutValidation("If-Match", "XXXXXXXXXX");
    using (HttpContent content = new StringContent(serializedObject))
    {
        content.Headers.Remove("Content-Type");
        content.Headers.Add("Content-Type", "application/json");
    }
    // ...
}