У нас вы можете посмотреть бесплатно Метод TryAddEnumerable в ASP.NET Core | Регистрация нескольких реализаций #21 или скачать в максимальном доступном качестве, видео которое было загружено на ютуб. Для загрузки выберите вариант из формы ниже:
Если кнопки скачивания не
загрузились
НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием видео, пожалуйста напишите в поддержку по адресу внизу
страницы.
Спасибо за использование сервиса ClipSaver.ru
В ASP.NET Core функция TryAddEnumerable позволяет регистрировать несколько реализаций одного и того же интерфейса, предотвращая при этом дублирование регистраций. Узнайте, чем TryAddEnumerable отличается от TryAdd и когда его следует использовать в .NET 10. Освойте TryAddEnumerable для создания расширяемых систем с несколькими реализациями сервисов, таких как конвейеры промежуточного ПО, цепочки валидации и архитектуры плагинов. 📌 Что такое TryAddEnumerable: TryAddEnumerable регистрирует несколько реализаций одного и того же типа сервиса, проверяя наличие дубликатов на основе типа реализации, а не только типа сервиса. В отличие от TryAdd, который предотвращает дублирование типов сервисов, TryAddEnumerable допускает несколько реализаций, но предотвращает двойную регистрацию одной и той же реализации. 🎯 TryAddEnumerable против TryAdd: TryAdd останавливается на первой регистрации типа сервиса. TryAddEnumerable допускает несколько реализаций, но предотвращает дублирование типов реализаций. Если вы зарегистрируете IValidator с Validator1, Validator2 и Validator1 повторно с помощью TryAddEnumerable, то Validator1 и Validator2 будут зарегистрированы только один раз каждый. 🔑 Примеры использования в реальном мире: Несколько реализаций валидации Компоненты конвейера промежуточного ПО Обработчики событий и подписчики Поставщики логирования с несколькими целями Поставщики схем аутентификации Обработчики форматов файлов Плагин-системы с несколькими плагинами Шаблон «Цепочка ответственности» 💡 Как работает TryAddEnumerable: TryAddEnumerable проверяет как тип сервиса, так и тип реализации. Он добавляет сервис только в том случае, если конкретная реализация еще не зарегистрирована. Это позволяет безопасно вызывать код регистрации несколько раз без создания дубликатов реализаций, при этом поддерживая несколько различных реализаций. 🔥 Преимущества TryAddEnumerable: Предотвращает регистрацию дубликатов реализаций Безопасная поддержка нескольких реализаций Идеально подходит для расширяемых архитектур Безопасен для кода библиотек и фреймворков Включает в себя системы плагинов Работает со всеми временными интервалами служб Идемпотентные вызовы регистрации ⚠️ Требование ServiceDescriptor: TryAddEnumerable требует экземпляры ServiceDescriptor, а не прямые параметры типа. Необходимо создавать объекты ServiceDescriptor с помощью фабричных методов Singleton, Scoped или Transient. Это немного более многословно, чем обычные методы Add, но обеспечивает тонкий контроль над предотвращением дубликатов. 🚀 Шаблон множественных реализаций: При внедрении IEnumerable типа службы ASP.NET Core разрешает все зарегистрированные реализации. TryAddEnumerable гарантирует, что ваш перечислитель содержит только уникальные реализации. Этот шаблон используется во всем ASP.NET Core для валидаторов параметров, размещенных служб и компонентов промежуточного ПО. 💡 Шаблон разработки библиотек: Библиотеки используют TryAddEnumerable для регистрации своих реализаций без проверки того, были ли они уже добавлены. Приложения могут безопасно вызывать методы настройки библиотеки несколько раз. Это обеспечивает модульную инициализацию, при которой различные части приложения могут независимо регистрировать сервисы без координации. 🔍 Сравнение TryAdd и TryAddEnumerable: Используйте TryAdd, когда вам нужна регистрация только ОДНОЙ реализации (первая побеждает). Используйте TryAddEnumerable, когда вам нужно НЕСКОЛЬКО реализаций, но без дубликатов. TryAdd предназначен для сервисов с одной реализацией. TryAddEnumerable предназначен для сервисов с несколькими реализациями и защитой от дубликатов. 🎓 Полный плейлист курса: • Dependency Injection C# in ASP.NET Core - ... ⭐ Присоединяйтесь к членству: / @webgentle 👍 Поставьте лайк, если TryAddEnumerable понятен | 💬 Создаёте плагины? Задавайте вопросы | 🔔 Подпишитесь на канал, чтобы узнать о продвинутых шаблонах внедрения зависимостей #aspnetcore #tryaddenumerable #dependencyinjection #dotnet10 #multipleimplementations #webapi #csharp