ASP.NET Dependency Injection Lifetimes | Время жизни сервисов
Регистрация сервисов в DI контейнере ASP.NET Core может проводиться с различным времени жизни. В ролике мы поговорим о возможных вариантах регистрации, посмотрим на различия и нюансы, а также коснемся лучших практик использования. Живой пример сделаем в Visual Studio 2022 и .NET 6. Будет интересно 🙂
Исходный код проекта на GitHub: github.com/codaza/DIRegistrat...
Telegram канал: t.me/codaza
На кофе ☕️: pay.cloudtips.ru/p/179d0532
Patreon: / codaza
Boosty: boosty.to/codaza
0:00 - Начало
1:00 - Dependency Injection и DI Container
4:54 - Registration Lifetimes: Singleton, Scoped, Transient
9:49 - Live example (Visual Studio 2022, .NET 6)
24:00 - Лучшие практики применения Singleton, Scoped, Transient
#DependencyInjection #AspNet #CSharp #net6 #codaza #ityoutubers #ITubeTeam
Пікірлер: 65
Удобная навигация по видео :) 0:00 - Начало 1:00 - Dependency Injection и DI Container 4:54 - Registration Lifetimes: Singleton, Scoped, Transient 9:49 - Live example (Visual Studio 2022, .NET 6) 24:00 - Лучшие практики применения Singleton, Scoped, Transient
Отличное объяснение, спасибо! Интересно было бы увидеть видео непосредственно по Dependency Injection
Чувак, ты просто огонь по объяснению! Вот такие люди и достойны уважения как учителя. Жаль в жизни их редко встречаешь. Вижу, что давненько нового ничего не выпускал. Надеюсь у тебя все хорошо. Всего тебе самого наилучшего, от души спасибо.
В идеале поподробнее рассказать про бест практики, была такая задача, эти сервисы мы делали синглтон, эти мы делали скоупд потому что... Цены бы не было) спасибо за урок!
ты просто чудо, не бросай это дело! спасибо большое!
Возможно, как продолжение, стоит рассказать про внутреннюю реализацию: как отслеживается объект, что происходит после окончания времени жизни и накидать схему своего контейнера. Спасибо!
Благодарю за информацию!
Спасибо, это было очень полезно и предельно понятно!
Один из лучших каналов по С#, как говорится братан, хорош, давай ещё, может вот этого всего побольше 🙂
Большое спасибо за такое прекрасное и ясное объяснение !
Без лишних слов, простая, искренняя благодарность.
Очень классно все объясняешь, наглядно и без кучи ненужной инфы! Зачет
Лучшее обьяснение, что я видел
Обожаю ваш канал! Более медитативного погружения в программирование ещё нужно поискать
Твои видео, это золото. Жаль, что их так же мало, как настоящего.
брат ну ты тигр, настоящий лев :) классная подача материала. по многопоточке купил бы у тебя курс
Даешь расширенный пример!)) Спасибо за видео
Супер доступно. Твои ролики - огонь! Жаль, что так редко выходят ролики, да и в целом активность низкая что-то(
Просто шикарный канал, описывающий многие важные элементы работы и разработки .net core приложений. Но самое приятное - это подача, невероятно приятный визуал. Единственный псевдоминус - диктор немного медленно говорит, но на 1.5 смотрится на ура
Очень интересно
Большое спасибо тебе, добрый человек! По DI урок бы не помешал отдельный)
Спасибо за видос огромное, кратко. четко.
@codaza-channel
2 жыл бұрын
Всегда пожалуйста! Вам спасибо за комментарий 👍
Как поставить 100500 лайков? Просто топ! Продолжайте внимать видео вы нам очень помогаете 🔥🔥🔥🔥
Да конечно хотим! Тема то важная!
Хороший канал, спасибо
Круто. Спасибо
боже храни codaza!! 🙏
Спасибо! Внедрение зависимостей было бы очень кстати разобрать подробнее
Спасибо! Это самое крутое объяснение DI.
@codaza-channel
2 жыл бұрын
Пожалуйста! Очень рад, что информация оказалась полезной. Спасибо, что смотрите и оставляете комментарии :)
@MaratSharipov1711
2 жыл бұрын
@@codaza-channel Вроде и знал и использовал... Но теперь, прям всё по полочкам. Особенно разница между Scoped и Transient
ты лучший, етить-колотить))))))
Spasibo
спасибо. теперь мой код будет лучше
Жаль что видео больше не выходят. Лучший
Для того, чтобы понять смысл Scoped, пришлось ставить видео на паузу и идти качественнее разбираться с HTTP запросами. Вот так и учусь - через одно место 👍🤣 Спасибо, видео очень доступное, если есть понимание об HTTP запросах и понимание - зачем нужны Dependency Injections.
@codaza-channel
2 жыл бұрын
Пожалуйста 🙂 Да, перед просмотром видео, все таки требуется базовое понимание HTTP запроса и DI. Здорово, что Вам удалось понять смысл, хоть и тернистым путем 👍
Расскажи, плиз, подробнее про сам DI Твои видосы просто огонь 🔥
нужно детальное видео по DI
Жду видео по Dependency Injection Кэп
👍
Сделайте пожалуйста видео на тему C# AutoResetEvent и ManualResetEvent на примере кнопок WinForms. В сети нет таких примеров
Сделай видео по asp net , mvc . пожалуйста!!!!!! Очень хороший качественный контет
Отличное видео, жаль что продолжений нет.
запили пжл, про DI
Данный материал подходит для ASP.NET Core (Net 6) или есть между ними критические отличия? Спасибо за ролик.
@codaza-channel
2 жыл бұрын
Вся информация в ролике самая свежая 🙂 Живой пример как раз на .NET 6.
@velfex
2 жыл бұрын
@@codaza-channel спасибо :)
А что получаться то, в Singleton можно при каждом обращении делать set нового guid)
в DI кстати необязательно передавтаь интерфейс(асбтракцию), можно только реализацию.
@codaza-channel
Жыл бұрын
Можно 🙂
+1
Допустим есть два сервиса в контейнере: один синглтон, другой пусть будет скопед. Синглтон внутри использует второй сервис. Каковым будет поведение синглтона, учитывая что у зависимости жизнь коротка? Все будет работать, но просто логика нарушится?
@codaza-channel
2 жыл бұрын
Спасибо за отличный вопрос. Хорошая новость, что так сделать нельзя. Если Вы всё же попытаетесь это сделать, то при попытке запуска вашего приложения, Вы получите ошибку о том, что Scoped-сервис не может быть инжектирован в Singleton-сервис.
@shurale85
2 жыл бұрын
@@codaza-channel спасибо!
Два вопроса: 1 дотнет для каждого http запроса создаёт новый transient контроллер? 2 почему в контроллер было внедрение в конструктор а не в метод с использованием атрибута FromServices? Какие зависимости в класс контроллера лучше внедрять в конструктор, а какие в метод?
@codaza-channel
Жыл бұрын
1. Да, по умолчанию в ASP.NET создаётся контроллер на запрос с временем жизни transient. 2. Внедрение через метод следует использовать, когда потребитель внедренной зависимости меняется при каждом вызове или, когда внедряемая зависимость меняется при каждом обращении к потребителю.
@leonid_konoplin
Жыл бұрын
@@codaza-channel извини, второе не понятно. Если есть возможность дай пожалуйста ссылку на источник, в котором бы это объяснялось.. А может быть это инфоповод для нового видео... ;)
@codaza-channel
Жыл бұрын
@@leonid_konoplin Конечно, вот отличная книга где хорошо объясняются принципы внедрения зависимостей: Внедрение зависимостей на платформе .NET. 2-е издание | Симан Марк, ван Дерсен Стивен
Боооольше asp
Скинь трек пжл
Чел, ты нас усыпить хочешь или донести что-то. Тебя невозможно смотреть на скорости ниже 1.5. Экономь чужое время, братан. Сам контент хороший, тут лайк.