在遗留的ASP.NET应用程序上工作时,我们发现ASP.NET会话用于缓存某些对象,但是对于某些对象Microsoft.Practices.EnterpriseLibrary.Caching
会被使用。
有没有理由使用Microsoft.Practices.EnterpriseLibrary.Caching
而非标准的ASP.NET会话?
在我的方案中,企业库缓存实际上用于通过将ASP.NET会话ID附加到缓存项的密钥来缓存每个用户数据。
答案 0 :(得分:6)
会话和缓存是不同的概念。
如果要在站点的所有用户之间共享对象,则应使用“缓存”,而“会话”用于存储用户特定数据。
所以你的问题不应该是:
有没有理由使用 Microsoft.Practices.EnterpriseLibrary.Caching 超过标准的ASP.NET会话?
但:
有没有理由使用 Microsoft.Practices.EnterpriseLibrary.Caching 超过标准的ASP.NET缓存?
和这个问题的答案一如既往:这取决于你的情景。 This article概述了缓存应用程序块的使用位置以及它尝试解决的问题。
答案 1 :(得分:2)
是...会话主要用于应用程序中的用户特定数据存储,缓存可用于特定于用户和特定于应用程序的数据存储。