如何在HttpResponseMessage上设置内容编码

时间:2017-02-06 16:42:56

标签: c# asp.net-web-api encoding httpresponse

我想在HttpResponseMessage上设置Content-Encoding,但我不能为我的生活找到方法。鉴于此WebApi行动

public HttpResponseMessage Get()
{
    byte[] tile = GetTile();

    var result = new HttpResponseMessage(HttpStatusCode.OK) {Content = new ByteArrayContent(tile)};

    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-protobuf");

    return result;
}

如何将标题上的Content-Encoding设置为gzip?

 result.Content.Headers.ContentEncoding

是只读的。

2 个答案:

答案 0 :(得分:7)

ContentEncoding属性是ICollection的实例。这为控制内容提供了添加和清晰的方法。

答案 1 :(得分:2)

不要减损richzilla的答案,这当然是完全正确的,并回答了我的问题。看到这是得到一些选票和访问必须有其他人犯同样的错误我这样做值得说完我的问题的答案是

result.Content.Headers.ContentEncoding.Add("gzip");