我想关闭HTTP响应的缓存。这是我的代码:
public class CacheControlHeaderAttribute : ResponseFilterAttribute
{
public override void Execute(IRequest req, IResponse res, object responseDto)
{
res.AddHeader(HttpHeaders.CacheControl, "no-store,must-revalidate,no-cache,max-age=0");
res.AddHeader("X-Test", "Hello from ServiceStack!");
}
}
问题是它不起作用。缓存控制已设置为私有。我该如何解决?
答案 0 :(得分:1)
您需要显式选择加入HTTP Caching in ServiceStack,它默认情况下不会缓存或添加HTTP Cache-Control标头,因此我假设它是由您要查找的Web服务器添加的代替进行配置。
否则,可以使用Customize HTTP Responses中列出的任何选项来添加HTTP标头。
但是如果未返回,则应用程序前面的其他内容(例如Web服务器/代理)将使用其自己的Cache-Control标头。