代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

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

  •  6
  • leora Matt Lacey  · 技术社区  · 15 年前

    我应该什么时候用一个对另一个?我想在启动时缓存某个对象,并在应用程序周围重用它。哪种解决方案(ViewData或Session)听起来更好?

    1 回复  |  直到 13 年前
        1
  •  12
  •   SLaks    15 年前

    ViewData 是用于将信息从控制器发送到视图的每个请求对象。
    每个操作调用都有自己的ViewData;ViewData不会持续到视图之外。

    Session State

    如果您想共享一个全局对象,您可能应该将其设为singleton(在 static 属性)或将其置于应用程序状态。
    当然 它是线程安全的。(或使用 [ThreadStatic]