MVCアプリケーションのすべてのビューに対して、ログに記録されたユーザーのインスタンス(または、まだ誰もログに記録されていない場合はnull)を提供したいと思います。InvokeActionをオーバーライドし、ログに記録されたユーザーインスタンスをViewData(controllerContext.Controller.ViewData ["LoggedUser"] = xxx)に提供する独自のControllerActionInvokerクラスをすでに正常に実装しました。問題は、アプリケーション全体でログに記録されたユーザーインスタンスを渡すために、強く型付けされたモデルを使用したいということです。私は、強く型付けされたすべてのViewDataクラスの基本クラスであり、ログに記録されたユーザーインスタンスも提供するApplicationViewDataBaseクラスを用意することを考えていました。すべてのビューでログに記録されたユーザーインスタンスに簡単にアクセスできました。
ControllerActionInvoker.InvokeActionオーバーライドで達成したように、強く型付けされたグローバルに入力することは可能ですか?または、Page.Userでユーザーインスタンスを提供する方がよいでしょうか。Page.Userを使用する方がおそらくもっと巧妙だと思いますが、Userインスタンスを挿入する方法も見つかりませんでした...