Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 413|Ответ: 0

[Чаевые] .NET/C# Служба регистрации зависимостей Scrutor

[Скопировать ссылку]
Опубликовано 2025-9-4 09:37:00 | | |
Требования: Когда проект относительно большой и синтаксис написания очень стандартизирован, при добавлении интерфейса нужно вручную добавить его в контейнер IServiceCollection, чтобы интерфейс можно было внедрить в конструктор. Инструмент Scrutor очень удобен для автоматического добавления в соответствии с нашей конфигурацией правил.

Скрутор

Microsoft.Extensions.DependencyInjection для расширений для сканирования и оформления ассемблеров.

Адрес исходного кода:Вход по гиперссылке виден.

обзор

Оглядываясь на регистрацию сервиса, существует три способа инъекции синглтона:

Регистрация службы

Допустим, у вас есть такая структура кода:

Определения интерфейсов
public interface IUserService { }
public interface IOrderService { }

Класс реализации
public class UserService : IUserService { }
public class OrderService : IOrderService { }

перед

Регистрация требуется по одному, а код таков:

Или напишите свой собственный метод и зарегистрируйте его через рефлексию (На самом деле, Scrutor также проявляется через размышления), следующим образом:

впоследствии

Scrutor делает регистрацию сканирования сборок очень удобной, особенно для автоматической регистрации нескольких классов сервисов (например, UserService, зарегистрированный как IUserService). Зависимости пакетов следующие:

Код таков:

Интерпретация:
  • . <UserService>FromAssemblyOf(): Указывает сборку для сканирования.
  • . AddClasses(): Сканирует все классы в наборе ассемблеров.
  • . AsImplementedInterfaces(): Автоматически регистрирует интерфейсы для этих классов по мере их реализации.
  • . WithScopedLifetime(): Установите жизнь в Scoped, что также может быть WithTransientLifetime() или WithSingletonLifetime().

(Конец)




Предыдущий:.NET/C# конвертирует PDF в изображения на основе ImageMagick и GhostScript
Следующий:Alibaba Cloud монтирует OSS в системную папку Linux
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com