我正在考虑使用 Unity 来管理自定义用户类实例的生命周期。我计划使用自定义 ASP.NET 会话管理器来扩展 LifetimeManager。我想要做的是从我的自定义类中存储和检索当前登录的用户对象,并让 Unity 从 ASP.NET 中的会话对象中获取 User 的实例,或者(在 Win32 项目中)检索它静态或从当前线程。
到目前为止,我最好的解决方案是在启动时创建我的 Unity 容器的静态实例,并使用 Resolve 方法从我的每个类中获取我的用户对象。但是,这似乎在我的其他类中创建了对统一容器的依赖。实现这一目标的更“团结”的方式是什么?我希望能够从任何类中读取/替换当前的用户实例。