是否适合在ASP.NET中使用Microsoft.Practices.EnterpriseLibrary.Caching?

时间:2010-09-06 17:03:03

标签: asp.net session caching

在遗留的ASP.NET应用程序上工作时,我们发现ASP.NET会话用于缓存某些对象,但是对于某些对象Microsoft.Practices.EnterpriseLibrary.Caching会被使用。

有没有理由使用Microsoft.Practices.EnterpriseLibrary.Caching而非标准的ASP.NET会话?

修改

在我的方案中,企业库缓存实际上用于通过将ASP.NET会话ID附加到缓存项的密钥来缓存每个用户数据。

2 个答案:

答案 0 :(得分:6)

会话和缓存是不同的概念。

如果要在站点的所有用户之间共享对象,则应使用“缓存”,而“会话”用于存储用户特定数据。

所以你的问题不应该是:

  

有没有理由使用   Microsoft.Practices.EnterpriseLibrary.Caching   超过标准的ASP.NET会话?

但:

  

有没有理由使用   Microsoft.Practices.EnterpriseLibrary.Caching   超过标准的ASP.NET缓存?

和这个问题的答案一如既往:这取决于你的情景。 This article概述了缓存应用程序块的使用位置以及它尝试解决的问题。

答案 1 :(得分:2)

是...会话主要用于应用程序中的用户特定数据存储,缓存可用于特定于用户和特定于应用程序的数据存储。