asp.net-mvc - 如何在所有其他控制器mvc5中重用一个控制器中填充的对象
问题描述
我正在使用 MVC 应用程序。我正在使用 HomePage 控制器的 Display 操作方法中的用户相关信息更新对象的属性。HomePage/Display 是打开应用程序 url 时执行的第一个操作方法。显示操作从数据库中获取与用户相关的信息,如过去的订单、正在进行的订单等,并将这些信息填充到 userInformation 对象中。
我将此 userInformation 对象保存在会话中。
var userData = HttpContext.Current.Session["UInfo"] as userInformation;
我在所有控制器中都需要这个 userData 对象。因此,在其他控制器中,我使用会话即 HttpContext.Current.Session["UInfo"] 作为 userInformation 访问 userData 对象。但如果线程不同,则 HttpContext.Current.Session["UInfo"] 变为空。
我已经搜索了解决方案,但其中大多数是指存储简单字符串或使用 ViewModel 进行 _Layout。我知道我们可以使用 TempData..但我正在为此寻找任何更好或替代的解决方案。
我如何重用在一个控制器中初始化的对象并在所有其他控制器和视图中重用该对象
谢谢你。
解决方案
推荐阅读
- flutter - 抽屉是透明的
- swift - 如何修复“未调用 tableview cellforrowat?”
- c# - ASP.NET MVC 到 ASP.NET CORE 2.2 的迁移:如何发送消息(SMS、电子邮件等)
- typescript - 是否可以修改 typescript Date 构造函数?
- flutter - 如何在 SearchDelegate 中使用 setState
- flutter - 如何减少列表构建器项目之间的空间?
- c# - 如何将原始复杂对象传递给 MVC 动作?
- android - Retrofit2 call.enqueue(new Callback
() 在 android 9 中不起作用,并且在 logcat 中没有任何错误的情况下使应用程序崩溃 - node.js - 为什么 gcloud app deploy 不包含我的自定义模块?
- node.js - azure-devops-node-api-getPersonalAccessTokenHandler(tokenHandler) 不工作