我想为我的 MVC 应用程序中的所有视图提供已登录用户的实例(如果还没有人登录,则为 null)。我已经成功实现了我自己的 ControllerActionInvoker 类,它覆盖了 InvokeAction 并在 ViewData (controllerContext.Controller.ViewData["LoggedUser"] = xxx) 中提供了记录的用户实例。问题是我想使用强类型模型在整个应用程序中传递记录的用户实例。我正在考虑拥有 ApplicationViewDataBase 类,它可以作为我所有强类型 ViewData 类的基类,并且还可以提供记录的用户实例。我可以在我的所有视图中轻松访问已登录的用户实例。
是否可以像我在 ControllerActionInvoker.InvokeAction 覆盖中实现的那样填写全局强类型?还是以某种方式在 Page.User 中提供我的用户实例更好?我会发现使用 Page.User 可能更巧妙,但也没有找到任何解决方案如何注入我的用户实例......