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

Изглед: 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, използван за идентифициране на услугата. Ключът може да бъде всеки обект, но обикновено string или enum (могат да са константи, така че може да се използва в свойства). За неключови услуги, регистрация на самоличност; За ключови услуги се регистрира комбинираната регистрация на идентичността с ServiceType. ServiceTypeServiceKey。

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

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

Тестване на KeyedServices

Създайте нов интерфейс за изпращане на известия, имплементиране на имейл, SMS и методи за изпращане на съобщения, регистрация през ключовата услуга и извикване на специфичната ѝ реализация чрез задаване на ID на услугата, кодът е следният:
Изпълнявайте както е показано по-долу:



Инжектирането на код чрез конструктор е следното:

Препратка:
Входът към хиперлинк е видим.
Входът към хиперлинк е видим.




Предишен:Урок за покупка на хардуерен портфейл за криптовалути OneKey Pro
Следващ:Linux сървърите изрязват nginx логове въз основа на logrotate
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com