Ninject создает для меня экземпляр класса A, который зависит от класса B (поэтому ninject создал также объект B). Ninject настроен на возврат одного экземпляра класса A (InSingletonScope) и многих экземпляров класса B (InTrancientScope). Класс A имеет свойство, которое позволяет получить/установить зависимость объекта B.ninject - вводить зависимость от существующего объекта во время запроса
Возможно ли получить экземпляр класса A с вновь созданным экземпляром B каждый раз, когда я запрашиваю тот же экземпляр класса A?
Метод OnActivation выполнил бы трюк, если бы он был выполнен по каждому запросу не только в первый раз.
Возможно, это какой-то анти-шаблон, который я собираюсь сделать?
EDIT: Чтобы избежать проблемы XY, я попытаюсь объяснить более подробную информацию. Решение слишком велико, чтобы объяснить все так короткое короткое описание:
Существует Операция, например, инвентаризация. Операция заполняется тремя Ведущие (P1, P2, P3). Ведущие управляют соответствующими Просмотров (V1, V2, V3). Пользователь вводит данные в представления, ведущие получают данные из представлений и сохраняют операцию. Все ведущие и представления - это синглтоны (InSingletonScope), чтобы избежать создания объектов каждый раз, когда это необходимо. Представления вводятся соответствующим докладчикам. Каждый раз, когда начинается работа, должен быть создан новый экземпляр операции и вводится всем ведущим, которые уже существуют.
вы, вероятно, вместо того, чтобы впрыскивать зависимость в синглтона. Внесите завод для этой зависимости в одноэлементный режим и вызовите создание на этой фабрике каждый раз, когда вам нужен экземпляр –
, который вы всегда можете вводить в локатор сервисов для разрешения зависимости каждый раз, когда захотите. –
ОК, это решение, но мне интересно, есть ли более простое решение. Некоторый метод .OnResolved будет очень простым. Интересно, почему этого не происходит. – raV720