ASP.net MVC 5 服务器或客户端中的缓存位置

Unb*_*ble 5 c# asp.net asp.net-mvc caching asp.net-mvc-5

我正在学习 ASP.Net MVC 5 教程,并了解了缓存。但我无法理解是什么决定了我应该在客户端还是服务器上缓存。

这是代码片段。

对于客户:

[OutputCache(Duration = 86400, Location = OutputCacheLocation.Client)]
public ActionResult SelectLocation()
{
}
Run Code Online (Sandbox Code Playgroud)

对于服务器:

[OutputCache(Duration = 86400, Location = OutputCacheLocation.Server)]
public ActionResult SelectLocation()
{
}
Run Code Online (Sandbox Code Playgroud)

问题:有人可以告诉我什么时候应该应用客户端缓存以及什么时候应该使用服务器缓存。我应该寻找的缺点或任何后果?

小智 0

看看这里。解释得很好

默认情况下,内容缓存在三个位置:Web 服务器、任何代理服务器和用户的浏览器。您可以通过更改位置参数来控制内容的缓存位置。当您在服务器上缓存时,每个用户都会收到相同的内容,而当仅在客户端时,缓存的内容因用户而异。

location 参数的默认值 Any 适合大多数场景。但有时,在某些情况下您需要对缓存数据进行更多控制。

假设您想要缓存登录的使用信息,那么您应该在客户端浏览器上缓存该数据,因为该数据是特定于用户的。如果您将这些数据缓存在服务器上,则所有用户都会看到相同的错误信息。

您应该将所有用户共用且敏感的数据缓存在服务器上。