Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 прави много удобно регистрирането на сканиране на сглобки, особено за автоматично регистриране на множество класове услуги (например UserService, регистриран като IUserService). Зависимостите на пакетите са следните:

Кодът е следният:

Тълкуване:
  • . <UserService>FromAssemblyOf(): Определя сборката за сканиране.
  • . AddClass(): Сканира всички класове в асемблерния набор.
  • . AsImplementedInterfaces(): Автоматично регистрира интерфейси за тези класове при тяхната реализация.
  • . WithScopedLifetime(): Задайте живота на Scoped, което може да бъде и WithTransientLifetime() или WithSingletonLifetime().

(Край)




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

Mail To:help@itsvse.com