ASP.NET缓存对象用法

时间:2012-06-18 12:34:08

标签: asp.net

在aspx页面上,我必须加载一个带有来自数据库的值的DropDown。在页面生命周期中使数据保持价值的最正确位置是什么?

Cahce对象? 会议? 视图状态?

更多详情:

  • 此数据存储在DataTable
  • 行也可以是200
  • 数据都是用于过滤gridView项目的字符串

2 个答案:

答案 0 :(得分:2)

如果获取的数据很昂贵则缓存,并且对所有用户都是相同的。

会话,如果数据的获取成本很高并且取决于用户

如果获得的数据便宜,那就没什么了。

ViewState,如果数据位于管理页面或流量无关紧要的地方(内部网站,很少访问的页面)。虽然200行可能有点太多了。

答案 1 :(得分:1)

如果数据不经常更改,则缓存它是一个好主意。如果它经常变化,那么我就不会(因为你经常清理和重新加载缓存,这是一种浪费)。

每个会话或在视图状态中保存它并不能为您带来太多的性能提升,因为这些都是在用户的请求中提供的。我讨厌viewstate,但如果你不能像我上面提到的那样缓存,那么viewstate是最合适的地方。