Ранее в WebApi (на .NET 4.x) мы могли работать с заголовками как запроса, так и ответа через типизированные интерфейсы (см. HttpRequestMessage.Headers
/HttpResponseMessage.Headers
).
Теперь в ASP.NET 5 мы имеем HttpRequest
и HttpResponse
с свойством Headers типа IHeaderDictionary
. Но это просто нетипизированный словарь.
Ниже я приведу пример с типизированным доступом, который может вернуть тонко настроенный http-ответ. Ему нужно было создать HttpResponseMessage
и заполнить его коллекцию заголовков (которая была напечатана btw).
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(manifestContent);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("text/cache-manifest");
response.Headers.CacheControl = new CacheControlHeaderValue {NoCache = true, Public = true};
response.Headers.ETag = new EntityTagHeaderValue("\"" + etag + "\"");