我应该何时使用其中一个?我想在启动时缓存某个对象并在应用程序周围重用。哪个听起来更好(ViewData或Session)?
答案 0 :(得分:12)
ViewData
是一个按请求对象,用于将信息从控制器发送到视图
每个动作调用都有自己的ViewData; ViewData不会超出视图范围。
Session State是一个每用户存储容器,允许您存储特定用户会话的数据(由cookie标识)
如果要共享全局对象,则应该将其设置为单个(在static
属性中)或将其置于应用程序状态。
确保确定它是线程安全的。 (或仔细使用[ThreadStatic]
字段)