У нас вы можете посмотреть бесплатно Метод AddKeyedTransient в ASP.NET Core | Полное руководство по внедрению зависимостей с ключами #19 или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
Метод AddKeyedTransient регистрирует временный сервис с уникальным ключом в контейнере внедрения зависимостей ASP.NET Core. Узнайте, как использовать AddKeyedTransient для создания новых экземпляров сервисов с ключами каждый раз, когда они разрешаются в .NET 10. Главная регистрация временных сервисов с ключами для легковесных, не сохраняющих состояние сервисов, которым требуется несколько реализаций с различным поведением. 📌 Что такое AddKeyedTransient: AddKeyedTransient объединяет время жизни временного сервиса с регистрацией сервиса с ключами. Новый экземпляр создается каждый раз, когда сервис с ключом запрашивается из контейнера внедрения зависимостей. Идеально подходит для легковесных сервисов без сохранения состояния, валидаторов, мапперов или утилит, которым требуется несколько реализаций, идентифицируемых ключами. 🎯 Синтаксис AddKeyedTransient: Регистрируйте сервисы в Program.cs с помощью AddKeyedTransient, указав тип сервиса, ключ и тип реализации. Каждое разрешение создает совершенно новый экземпляр, даже в рамках одного запроса. Фабричные делегаты работают с AddKeyedTransient, где вы получаете поставщика услуг и ключ для создания настраиваемых временных экземпляров на основе ключа. 🔑 Примеры использования в реальном мире: Несколько стратегий проверки с различными правилами Различные реализации преобразования данных Форматировщики сообщений для различных протоколов Несколько стратегий сериализации (JSON, XML, Binary) Обработчики, специфичные для протоколов Реализации алгоритмов с различными подходами Обработчики бизнес-логики, специфичные для функций 💡 Разрешение временных сервисов с ключом: Используйте атрибут FromKeyedServices в методе внедрения зависимостей конструктора или метода действия, чтобы указать, какой временный сервис с ключом вам нужен. Каждая точка внедрения получает совершенно новый экземпляр. Вы также можете использовать GetKeyedService или GetRequiredKeyedService из IServiceProvider, но помните, что каждый вызов создает новый экземпляр. 🔥 Преимущества AddKeyedTransient: Максимальная изоляция между использованием сервисов Отсутствие проблем с общим состоянием Потокобезопасность по своей природе (каждый поток получает новый экземпляр) Идеально подходит для операций без состояния Работает с делегатами фабрики Идеально подходит для легковесных утилит Чистое разделение различных реализаций ⚠️ Вопросы производительности: Временные сервисы имеют самые высокие накладные расходы на создание объектов. Избегайте использования AddKeyedTransient для сервисов, требующих дорогостоящего создания объектов, или тех, которые управляют ресурсами, такими как подключения к базе данных. Если ваш временный сервис с ключом реализует интерфейс IDisposable, контейнер отслеживает его для освобождения в конце области видимости, добавляя накладные расходы на память до завершения запроса. 🚀 Когда использовать AddKeyedTransient: Используйте AddKeyedTransient для легковесных сервисов без состояния, где вам требуется несколько реализаций. Примеры включают валидаторы, конвертеры, калькуляторы и форматтеры. Выберите AddKeyedScoped или AddKeyedSingleton, если создание объекта является ресурсоемким процессом или если вам необходимо поддерживать состояние при многократном использовании. 💡 Альтернатива шаблону «Фабрика»: AddKeyedTransient предоставляет более чистую альтернативу шаблону «Фабрика» для создания различных реализаций. Вместо создания классов фабрики регистрируйте временные сервисы с ключами и разрешайте их по ключу. Это уменьшает количество шаблонного кода и использует встроенный контейнер внедрения зависимостей ASP.NET Core вместо пользовательской логики фабрики. 🎓 Полный плейлист курса: • Dependency Injection C# in ASP.NET Core - ... ⭐ Присоединяйтесь к членству: / @webgentle 👍 Поставьте лайк, если временные сервисы с ключами полезны | 💬 Для чего вы используете transient? | 🔔 Подпишитесь на канал, чтобы узнать о продвинутых шаблонах внедрения зависимостей #aspnetcore #addkeyedtransient #keyeddi #dependencyinjection #dotnet10 #transientlifetime #webapi #csharp