2016-02-15 2 views
1

Я хочу иметь шаблон локатора службы в приложении ASP.NET5 (MVC6). Поэтому я хочу получить все экземпляры моих интерфейсов.GetAllInstance с asp.net 5 встроенный инкремент зависимостей

Я не хочу использовать какие-либо другие каркасы DI, поскольку я знаю, что это уже доступно в контейнерах DI, таких как структура структуры и autofac.

Я хочу сделать что-то вроде получения всех экземпляров интерфейса ITask. Ниже приведен код интерфейса.

public Interface ITask 
{ 
    void Execute(); 
} 

//What I want to do 
foreach (var task in container.GetAllInstances<ITask>()) 
{ 
    task.Execute(); 
} 

Вот что я хочу сделать. Я хочу получить все экземпляры ITask. Затем я хочу получить все экземпляры ITask и выполнить метод выполнения вызова этого класса.

Любая помощь будет оценена !. Заранее спасибо.

ответ

0

предполагая, что некоторые экземпляры были добавлены в DI, вы должны быть в состоянии сделать что-то вроде этого:

var allInstance = container.GetService<IEnumerable<ITest>>(); 
+0

Пожалуйста, вы можете предоставить больше код и детали. Кроме того, я не могу найти контейнер с инъекцией по умолчанию по умолчанию –

+0

, вы просто принимаете зависимость от IServiceProvider, и его можно вводить –

+0

Я не уверен, что вы хотите сделать, вставьте здесь свой код. –

Смежные вопросы