免责声明:我对 DI 容器有相当多的经验,但对 Unity 还是很陌生。
我有一个 MVC 项目,它使用构造函数注入与 Unity DI 连接起来,效果很好。但是我现在有一个服务,我想将它注入到我的控制器中(可能在某些时候注入到控制器以外的地方),并且该服务需要访问 ASP.NET 会话状态。该服务的目的是管理会话中的列表,我不希望控制器中的列表机制。
我意识到我可以在使用服务之前向我的控制器可以调用的服务(和它的接口)添加一个 Setup 方法,传入对 Session 的引用,但我不喜欢这样,因为我可能想要实现使用 Session 以外的东西进行我的状态管理的服务,而且它是泄漏到我的界面中的实现细节。我也意识到我可以在我的服务中使用 HttpContext.Current 但出于多种原因我不想这样做,特别是因为它为单元测试带来的问题。
Unity 可以将 HttpSessionState 的引用注入到服务的构造函数中吗?