Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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 та push-повідомлень, реєстрації через ключовий сервіс і виклику його конкретної реалізації, вказавши сервісний ID, код виглядає так:
Виконайте, як показано нижче:



Ін'єкція коду через конструктор виглядає так:

Посилання:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.




Попередній:Інструкціал для придбання апаратного гаманця для криптовалюти OneKey Pro
Наступний:Сервери Linux вирізають логи nginx на основі logrotate
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com