2013-03-06 14 views
13

Jestem prawie pewien, że "Wygasa" jest prawidłowym typem nagłówka HTTP Response. Ale gdy próbuję ustawić go w moim kodu: (jest to w metodzie ActionFilter.OnActionExecuted)Jak dodać nagłówek odpowiedzi wygasającej do odpowiedzi akcji WebAPI?

actionExecutedContext.Response.Headers.Add("Expires", (DateTime.Now + Timespan.FromDays(7)).ToString("R")); 

I skończyć z wyjątkiem:

InvalidOperationException: nadużywane nazwę nagłówka. Upewnij się, że żądania są używane z nagłówkami HttpRequestMessage, nagłówkami odpowiedzi z HttpResponseMessage i nagłówkami treści z obiektami HttpContent.

Odpowiedz

22

Wygasa to nagłówek treści. Spróbuj to zamiast:

actionExecutedContext.Response.Content.Headers.Expires = DateTimeOffset.Now.AddDays(7); 
+0

Co to jest nagłówek HTTP Content ?? Nigdy wcześniej tego nie widziałem i wygląda tak samo jak wszystkie inne nagłówki w mojej odpowiedzi serwera ... –

+3

To jest to samo. Ale to tylko nagłówek, który odnosi się do treści treści. Zawartość kontroluje te nagłówki. –

+0

@ YoussefMoussaoui Otrzymuję 'Expires: -1' kiedy próbuję tego. – Azimuth

0

spróbować

response.Content.Headers.Expires = DateTimeOffset.Now.AddDays(7); 
Powiązane problemy