Отказ от ответственности: у меня есть немного опыта с контейнерами DI, но я совершенно новый для Unity.Как получить Unity, чтобы ввести ссылку на HttpSessionState на службу
У меня есть проект MVC, который все подключен к Unity DI, используя инъекцию конструктора и отлично работает. Но теперь у меня есть служба, которую я хочу внедрить в мои контроллеры (а может быть, и места, отличные от контроллеров, в какой-то момент), и эта служба нуждается в доступе к состоянию сеанса ASP.NET. Целью службы является управление списком в сеансе, и я не хочу, чтобы в моем контроллере была механика списка.
Я понимаю, что я мог бы добавить метод установки к сервису (и его интерфейсу), который мой контроллер мог вызвать, передав ссылку на сеанс, перед использованием службы, но мне это не нравится, поскольку я могу сделать реализацию службы, которая использует что-то другое, кроме Session для моего управления состоянием, а также специфические особенности реализации, протекающие в моем интерфейсе. Я также понимаю, что могу использовать HttpContext.Current в своей службе, но я не хочу делать это по многим причинам, особенно по тем проблемам, которые он создает для модульного тестирования.
Может ли Unity вставить ссылку на HttpSessionState в конструктор службы?