应用程序与会话与缓存

cho*_*obo 67 asp.net

上述所有内容的适当用例是什么?看起来会话和缓存非常相似,我想不出应用程序有多大用处.

kd7*_*kd7 103

应用程序和会话状态有一个非常重要的区别:

应用程序状态是ASP.NET应用程序中所有类可用的数据存储库.应用程序状态存储在服务器的内存中,比在数据库中存储和检索信息更快.与会话状态(特定于单个用户会话)不同,应用程序状态适用于所有用户和会话.因此,应用程序状态是存储少量常用数据的有用位置,这些数据不会从一个用户更改为另一个用户

应用状态概述
会话状态概述

另一方面,缓存允许您将对象存储在需要大量服务器资源来创建的内存中- 它提供了强大的功能,允许您自定义缓存项目的方式以及缓存它们的时间 - 您可以设置广泛的属性,如优先级和过期.

缓存应用程序数据概述

虽然它们可能看起来很相似,但它们明显是分开的,并且在最广泛的意义上在ASP.NET应用程序中扮演不同的角色.


Ade*_*eel 20

会话是每个用户.它不在用户之间共享.

应用程序和缓存范围适用于整个应用 缓存可以过期.如果您有可以更改的数据,比如说5分钟,则可以将其放在缓存中,而如果您的数据没有定期更新,则可以放置在应用程序变量中.


H20*_*der 6

会话用于特定于用户的信息.通常,您会保存用户名,用户首选项,如屏幕名称,购物车ID(如果您要销售任何东西),电子邮件等

缓存通常用于当您拥有所有人共享的信息时.通常是减少数据库的长进程或命中.IE你要显示前n篇文章.您可以在此设置时间限制,因此它会在经过一段时间后刷新日期

应用程序变量适用于要保存在服务器上的静态信息.这可以是媒体文件所在位置.