2013-03-14 20 views
0

我想了解Persisting DataSource in GridView after PostBack的接受答案,因为我有类似的问题。为什么不缓存(System.Web.Caching.Cache)用于状态管理?

报价:

我避开把东西到VeiwState或会话不必要的,所以我觉得坚持这种数据的最佳方式就是对其进行缓存。

当我看到国家管理的MS建议:ASP.NET State Management Overview缓存是没有在哪里可以看到。有一条评论(搜索Jim_Huff),询问这个问题,但没有回答。

问题:在这种情况下与cache有什么关系 - 我应该使用它还是不使用?

回答

1

该问题的答案由问题作者提供,并不是一个很好的答案。

状态管理用于管理单个会话的状态。有保障措施可确保您不会践踏其他用户的会话状态,以及清理旧会话,放弃会话等的明确机制。

应用程序缓存用于管理整个应用程序的全局状态。使用它来管理会话状态是不合适的。

+0

因此......状态管理映射到缓存的指定部分,为会话/视图/页面特定数据保留 - 还是完全分开? – 2013-03-14 11:58:19

+1

两者完全分开。会话状态存在于会话状态数据库(可能是内存中,SQL数据库或StateServer)中。应用程序缓存是一个完全不同的数据库(它可以是内存中的,也可以是SQL数据库或其他内容,具体取决于您的特定缓存技术) – 2013-03-14 12:07:21