【发布时间】:2013-08-23 17:46:58
【问题描述】:
我正在尝试在 GET 请求的响应中设置 Cache-Control 标头。
这适用于 OPTIONS 请求:
PreRequestFilters.Add((httpRequest, httpResponse) =>
{
if (httpRequest.HttpMethod == "OPTIONS")
{
httpResponse.AddHeader("Cache-Control", "no-cache");
httpResponse.EndServiceStackRequest();
}
});
这对 GET 请求不起作用:
ResponseFilters.Add((httpRequest, httpResponse, dto) =>
{
httpResponse.AddHeader("Cache-Control", "no-cache");
});
过滤器正在工作...此外,我可以使用上述方法将自己的标头添加到响应中。
我正在使用 3.9.58。
那么,这是一个错误(在 ServiceStack 中还是在我的代码中),还是由于 REST 和 GET 请求的性质而设计的?
【问题讨论】:
-
“不起作用”是什么意思?当您在客户端检查响应时,您在响应中设置的标头是否不存在?标头是否仍然存在,但正在使用缓存的值?
-
抱歉,我的问题不是很清楚。第一个示例返回标头 Cache-Control: no-cache。第二个(“不起作用”)将返回 Cache-Control: private。我想要完成的是让第二个也返回 Cache-Control: no-cache.
标签: servicestack cors