【发布时间】:2011-05-06 04:46:46
【问题描述】:
我应该在什么时候使用一种与另一种?我想在启动时缓存某个对象并在应用程序周围重用。哪个听起来更好(ViewData 或 Session)?
【问题讨论】:
标签: asp.net-mvc session viewdata
我应该在什么时候使用一种与另一种?我想在启动时缓存某个对象并在应用程序周围重用。哪个听起来更好(ViewData 或 Session)?
【问题讨论】:
标签: asp.net-mvc session viewdata
ViewData 是一个按请求对象,用于将信息从控制器发送到视图。
每个动作调用都有自己的 ViewData; ViewData 不会持续到视图之外。
Session State 是每个用户的存储容器,允许您存储特定用户会话的数据(由 cookie 标识)
如果您想共享一个全局对象,您可能应该将其设为单例(在 static 属性中)或将其置于应用程序状态。
确保确保它是线程安全的。 (或谨慎使用[ThreadStatic] 字段)
【讨论】: