gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:13:22 25 4
gpt4 key购买 nike

我正在学习 ASP.Net MVC 5 中的教程,我了解了缓存。但是我不明白是什么决定了我应该在客户端还是服务器缓存。

这是代码片段。

对于客户:

[OutputCache(Duration = 86400, Location = OutputCacheLocation.Client)]
public ActionResult SelectLocation()
{
}

对于服务器:

[OutputCache(Duration = 86400, Location = OutputCacheLocation.Server)]
public ActionResult SelectLocation()
{
}

问题:谁能告诉我什么时候应该应用客户端缓存,什么时候应该使用服务器缓存。我应该注意的缺点或任何后果?

最佳答案

关于 OutputCache,“客户端”缓存只是意味着缓存控制 header 和/或过期 header 将与响应一起发送,表明客户端可能 缓存文档。通常,客户端,特别是如果它是 Web 浏览器,会选择这样做。如果再次需要相同的资源,它就不需要发出新的请求。但是,浏览器仍可能偶尔发出 HEAD 请求以检查是否有新版本的资源。

“服务器”缓存意味着,仍然关于 OutputCache,服务器将在本地缓存响应,通常在内存中。这意味着只要缓存仍然有效,服务器实际上就不会再次呈现操作,而只会提供缓存的资源。

然后,两者之间的主要区别在于,服务器缓存将用于对该资源的所有请求,而不管当前正在发出请求的客户端是什么,而客户端缓存显然仅限于那个特定的客户端.服务器不需要为那个客户端再次呈现 Action ,但会为出现的下一个客户端呈现。

但是,默认值为 Any,其中包括服务器和客户端缓存(以及其他位置)。换句话说,服务器和客户端缓存并不相互排斥,通常您会同时执行这两项操作,以最大限度地减少服务器需要完成的工作和需要响应的请求量。

关于c# - 在 ASP.net MVC 5 服务器或客户端中缓存的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43659831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com