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

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

[ASP.NET] ASP.NET Core (32) зависит от внедрения ключевых сервисов KeyedServices

[Скопировать ссылку]
Опубликовано 2025-10-11 11:15:07 | | | |
Что такое KeyedServices?

Инъекция зависимостей (DI) повсеместна в ASP.NET Core. Вы можете использовать его для пользовательских сервисов, но что важнее — сам фреймворк всегда использует DI. Большая часть того, что можно настроить в ASP.NET Core, настраивается через DI.

Для ключевых сервисов ещё одна информация хранится в ServiceDescriptor — это ServiceKey, используемый для идентификации сервиса. Ключ может быть любым объектом, но обычно строка или enum (могут быть константами, поэтому его можно использовать в свойствах). Для неключевых сервисов — регистрация личности; Для сервисов ключения регистрируется объединённая регистрация идентичности с ServiceType. ServiceTypeServiceKey。

Сервис ключения — это механизм, который использует ключи для регистрации и получения сервисов инъекции зависимостей (DI). Зарегистрируйте сервис, позвонив в AddKeyedSingleton (или AddKeyedScoped или AddKeyedTransient), связанный с ключом. Используйте свойства [FromKeyedServices], чтобы указать ключ для доступа к зарегистрированному сервису.

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

Тестирование KeyedServices

Создайте новый интерфейс для отправки уведомлений, реализации методов электронной почты, SMS и отправки сообщений, регистрации через сервис ключей и вызова его конкретной реализации с указанием идентификатора сервиса, код выглядит следующим образом:
Выполните следующее:



Инъекция кода через конструктор выглядит следующим образом:

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




Предыдущий:Обучение по покупке аппаратного кошелька криптовалюты OneKey Pro
Следующий:Серверы Linux вырезали логи nginx на основе логротата
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com