Asp.net-MVC中Session和ViewData有什么区别?

时间:2010-11-07 02:20:39

标签: asp.net-mvc session viewdata

我应该何时使用其中一个?我想在启动时缓存某个对象并在应用程序周围重用。哪个听起来更好(ViewData或Session)?

1 个答案:

答案 0 :(得分:12)

ViewData是一个按请求对象,用于将信息从控制器发送到视图 每个动作调用都有自己的ViewData; ViewData不会超出视图范围。

Session State是一个每用户存储容器,允许您存储特定用户会话的数据(由cookie标识)

如果要共享全局对象,则应该将其设置为单个(在static属性中)或将其置于应用程序状态。
确保确定它是线程安全的。 (或仔细使用[ThreadStatic]字段)