我正在使用ASP.NET MVC中的Web应用程序。当用户登录时,我想从数据库中检索他的导航(在用户帐户之间变化)和他的信息,并保持控制器之间的信息。
我在_Layout.cshtml
中显示导航,所以我想知道从数据库中提取导航和其他用户信息并将其存储在控制器之间的最佳做法。此信息仅被检索一次并存储在用户“登录会话”中。
什么是理想的解决方案?我应该创建一个BaseController
其他控制器继承并将我的逻辑放在构造函数中并将信息放在global ViewBag
中吗?或者我应该在Session
方法中使用Login
对象吗?或者我应该创建一个静态方法并直接从_Layout.cshtml中调用它?
我该怎么办?我想在全局范围内执行一次,因此我不必在每个控制器操作中执行此操作。