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

标签 asp.net-mvc session viewdata

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

最佳答案

ViewData是每个请求对象,用于将信息从 Controller 发送到 View 。
每个 Action 调用都有自己的ViewData; ViewData不会持续超出 View 范围。

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

如果要共享全局对象,则可能应使其成为单例(在static属性中)或将其置于“应用程序”状态。
确保确保是线程安全的。 (或谨慎使用[ThreadStatic]字段)

关于asp.net-mvc - Asp.net-MVC中的Session和ViewData有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4116235/

相关文章:

c# - ViewData 中的 HTML 标记呈现问题?另外,MVC 中的 MultiView 功能?

ASP.NET MVC-如何将数组传递给 View ?

asp.net-mvc - Asp.Net MVC 中的 Service Worker,范围

c# - asp.net mvc 管道中替换文本的最佳位置

c# - 深入理解 ASP.NET MVC 上的 async/await

java - 在 Flex 中保持 Java 服务器 session 处于 Activity 状态

session - 无法使用 CodeIgniter 中的 session 类检索 session ID

php - 如何查明我的用户是否具有管理员权限?

c# - SelectListItem selected = true 在 View 中不工作

c# - 永远不要使用 ViewData 吗?