首页 > 解决方案 > Asp .Net Core MVC 返回缓存数据请求

问题描述

我有一个登录页面,客户端在其中插入他的 ID 号,并向控制器发出 ajax 请求以根据该参数获取数据。

[ResponseCache(Duration = 5, Location = ResponseCacheLocation.Client)]
public IActionResult GetAll(id)
{
    var client = _context.Clients.Find(id);

    var references = _context.References.Where(r => r.ClientId == clientId).ToList();

    if(references == null)
    {
        return new JsonResult("No references found.");
    }

    return new JsonResult(references);
}

我想知道在尝试使用 responsecache 时,如果另一个客户端也尝试登录,他会获取当前客户端的缓存数据吗?

标签: c#asp.net-core-mvc

解决方案


如果另一个客户端也尝试登录,他会获取当前客户端的缓存数据吗?

否,Location = ResponseCacheLocation.Client使 Cache-Control 标头的“私有”值指示响应消息的值是针对单个用户的。它不存储在共享缓存中。


推荐阅读