Во-первых, я думаю, что это даст некоторую ясность, чтобы понять, что это всего лишь "WebApp". Используете ли вы один, много или нет пакетов NuGet, ссылки на проекты и т. Д., В конечном счете, все это просто код, который выполняется в вашем процессе WebApp.
Таким образом, вы можете зарегистрировать реализацию IProcessor
, как если бы вы зарегистрировали любую услугу:
services.AddScoped<IProcessor, WebAppProcessor>();
Неясно, что вы в конечном итоге делаете здесь, поэтому в зависимости от этого вы можете выбрать один из двух путей. Если есть только одна IProcessor
реализация, то вы просто внедряете это непосредственно в любой класс, который нуждается в этом, через конструктор класса. Этот класс также необходимо зарегистрировать в коллекции служб веб-приложения, чтобы он вообще участвовал в процессе внедрения зависимостей.
Если на самом деле у вас будет несколько доступных реализаций, тогда процесс в основном одинаков, но вместо этого вам нужно будет ввести IEnumerable<IProcessor>
. Коллекция сервисов затем внедрит все зарегистрированные реализации IProcessor
.