Раньше в WebApi (на .NET 4.x) мы могли работать с заголовками как запроса, так и ответа через типизированные интерфейсы (см. HttpRequestMessage.Headers
/HttpResponseMessage.Headers
). Теперь в ASP.NET 5 у нас есть HttpRequest
и HttpResponse
со свойством Headers типа IHeaderDictionary
. Но это просто нетипизированный словарь.
Ниже я привожу пример с типизированным доступом, который может возвращать настроенный http-ответ. Это необходимо для создания HttpResponseMessage
и заполнения его коллекции заголовков (которая, кстати, была набрана).
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 + "\"");