15

我很确定“过期”是有效的 HTTP 响应标头类型。但是当我尝试在我的代码中设置它时:(这是在 ActionFilter.OnActionExecuted 方法中)

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

我最终遇到了一个例外:

InvalidOperationException:误用的标头名称。确保请求标头与 HttpRequestMessage 一起使用,响应标头与 HttpResponseMessage 一起使用,内容标头与 HttpContent 对象一起使用。

4

2 回答 2

26

Expires 是一个内容标题。试试这个:

actionExecutedContext.Response.Content.Headers.Expires = DateTimeOffset.Now.AddDays(7);
于 2013-03-06T20:09:56.367 回答
1

尝试

response.Content.Headers.Expires = DateTimeOffset.Now.AddDays(7);
于 2013-03-06T20:12:22.473 回答