保存在会话中以减少数据库负载

时间:2013-10-26 09:50:55

标签: asp.net session

目前我尝试极少减少数据库的负载,所以我查看了我的网站并考虑一下 - 我可以尽量避免使用哪些数据库。

那么有规则吗?我应该在会话中保存几乎从未改变的所有信息吗?

例如:User-Table是一个35-coloumn-table,我经常以不同的方式使用它,以至于我几乎在每个PageLoad和master-site-page-load中都得到了这个用户对象(设置,显示欢迎信息的用户名,颜色等)。 那么在这里避免数据库查询是好的,在会话中保存用户对象并从会话中调用它 - 当然会在用户对象发生变化时破坏会话(例如用户更改其设置)?

1 个答案:

答案 0 :(得分:1)

你当然可以这样做。但是如你所知,会话可能会在一段时间后过期。因此,如果您在会话到期后不将用户重定向到登录页面,则应避免在会话中存储变量,并转到viewstate。当然,只要用户对象发生变化(例如用户更改其设置)

,就会销毁该视图状态对象