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

发布于 2024-09-30 23:50:38 字数 83 浏览 4 评论 0原文

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

When should I use one versus the other? I want to cache a certain object on startup and reuse around the application. Which sounds like the better solution (ViewData or Session)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过期情话 2024-10-07 23:50:38

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

会话状态是一个每用户存储容器,允许您存储数据对于特定用户会话(由 cookie 标识)

如果您想共享全局对象,您可能应该将其设为单例(在 static 属性中)或将其置于应用程序状态。
确保确保它是线程安全的。 (或者小心使用 [ThreadStatic] 字段)

ViewData is a per-request object used to send information from the controller to the view.
Each action invocation gets its own ViewData; the ViewData doesn't last beyond the view.

Session State is a per-user storage container which allows you to store data for a specific user session (identified by a cookie)

If you want to share a global object, you should probably make it a singleton (in a static property) or put it in Application state.
Make sure that it's thread-safe. (Or use a [ThreadStatic] field carefully)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文