gpt4 book ai didi

ASP.net 应用程序 session 缓存最佳实践和模式

转载 作者:行者123 更新时间:2023-12-01 04:16:51 24 4
gpt4 key购买 nike

在 asp.net 中,主要的数据存储是应用程序、 session ,我们还有对象缓存。
我使用了常识提示/技巧(例如,永远不要将用户的特定数据放在应用程序中,永远不要将非托管资源放在 session 中等),但说实话,我从来没有遇到任何关于何时在 MSDN 或来自像 Haack 和 Gu 这样的著名人物,它们涵盖了所有三个(例如,Google 对 MSDN 的第一次访问谈到了使用应用程序作为全局缓存,如果是这样,对象缓存有什么用?

还有一点我发现很少讨论的是场景中的比较,例如我知道过度使用 session 很容易不必要地加载内存使用,但是如果您使用对象缓存作为存储相同数据的替代方法会发生什么?

编辑:这是迄今为止我找到的最好的信息:http://msdn.microsoft.com/en-us/library/ff647787.aspx

最佳答案

使用 Session 来存储特定于用户的信息,因为框架会自动将每个 session 存储与特定用户相关联。

将对象缓存用于可以缓存一次并在整个应用程序或一组用户中重复使用的信息。如果您将特定于用户的数据存储在对象缓存中,那么您将不得不发明一些机制来关联缓存条目。这不仅需要代表您进行额外的工作,而且您可能会以一种增加恶意用户以某种方式执行类似于 session 欺骗的操作的可能性的方式执行此操作。

我不知道你什么时候需要使用 Application 对象。如果我没记错的话,Application 对象更像是经典 ASP 的遗物。

另一种同样重要的缓存形式是通过 HttpContext.Items 集合进行的每个请求缓存。这允许您在请求的生命周期内缓存数据,如果您在单个请求期间不断请求相同的数据(例如来自页面上的不同用户控件),这将非常有用。有关此方法的更多信息,请参阅 HttpContext.Items - a Per-Request Cache Store .

关于ASP.net 应用程序 session 缓存最佳实践和模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3477645/

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