Unity を使用してカスタム ユーザー クラス インスタンスの有効期間を管理することを検討しています。カスタム ASP.NET セッション マネージャーを使用して LifetimeManager を拡張することを計画しています。私ができるようにしたいのは、現在ログインしているユーザー オブジェクトをカスタム クラスから保存および取得し、Unity に ASP.NET のセッション オブジェクトから User のインスタンスを取得させるか、(Win32 プロジェクトの場合) それを取得させることです。静的に、または現在のスレッドから。
これまでのところ、私の最善の解決策は、起動時に Unity コンテナーの静的インスタンスを作成し、Resolve メソッドを使用して各クラスから User オブジェクトを取得することです。ただし、これにより、他のクラスの Unity コンテナーへの依存関係が作成されるようです。この目標を達成するためのより「Unity」な方法は何ですか? 任意のクラスから現在の User インスタンスを読み取り/置換できるようにしたいと考えています。