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

  • @codaza-channel
    @codaza-channel2 жыл бұрын

    Удобная навигация по видео :) 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

  • @alkopane7027
    @alkopane70272 жыл бұрын

    Отличное объяснение, спасибо! Интересно было бы увидеть видео непосредственно по Dependency Injection

  • @AndrewYurchenko
    @AndrewYurchenko9 ай бұрын

    Чувак, ты просто огонь по объяснению! Вот такие люди и достойны уважения как учителя. Жаль в жизни их редко встречаешь. Вижу, что давненько нового ничего не выпускал. Надеюсь у тебя все хорошо. Всего тебе самого наилучшего, от души спасибо.

  • @firemanhood1526
    @firemanhood15262 жыл бұрын

    В идеале поподробнее рассказать про бест практики, была такая задача, эти сервисы мы делали синглтон, эти мы делали скоупд потому что... Цены бы не было) спасибо за урок!

  • @biowillo
    @biowillo2 жыл бұрын

    ты просто чудо, не бросай это дело! спасибо большое!

  • @shurale85
    @shurale852 жыл бұрын

    Возможно, как продолжение, стоит рассказать про внутреннюю реализацию: как отслеживается объект, что происходит после окончания времени жизни и накидать схему своего контейнера. Спасибо!

  • @denissavast
    @denissavast3 күн бұрын

    Благодарю за информацию!

  • @Raakkaa
    @Raakkaa2 ай бұрын

    Спасибо, это было очень полезно и предельно понятно!

  • @apdgslfhsodbna
    @apdgslfhsodbna Жыл бұрын

    Один из лучших каналов по С#, как говорится братан, хорош, давай ещё, может вот этого всего побольше 🙂

  • @vladimirkuznetsov8466
    @vladimirkuznetsov8466 Жыл бұрын

    Большое спасибо за такое прекрасное и ясное объяснение !

  • @mathew9794
    @mathew9794 Жыл бұрын

    Без лишних слов, простая, искренняя благодарность.

  • @antonkarachev
    @antonkarachev Жыл бұрын

    Очень классно все объясняешь, наглядно и без кучи ненужной инфы! Зачет

  • @validationerror3830
    @validationerror38302 жыл бұрын

    Лучшее обьяснение, что я видел

  • @user-we3ef9xx5u
    @user-we3ef9xx5u Жыл бұрын

    Обожаю ваш канал! Более медитативного погружения в программирование ещё нужно поискать

  • @user-cb3zs6qx1m
    @user-cb3zs6qx1m Жыл бұрын

    Твои видео, это золото. Жаль, что их так же мало, как настоящего.

  • @alibek3006
    @alibek30062 жыл бұрын

    брат ну ты тигр, настоящий лев :) классная подача материала. по многопоточке купил бы у тебя курс

  • @masdaiable
    @masdaiable7 ай бұрын

    Даешь расширенный пример!)) Спасибо за видео

  • @user-sk8xi2fi7l
    @user-sk8xi2fi7l6 ай бұрын

    Супер доступно. Твои ролики - огонь! Жаль, что так редко выходят ролики, да и в целом активность низкая что-то(

  • @consolushka
    @consolushka Жыл бұрын

    Просто шикарный канал, описывающий многие важные элементы работы и разработки .net core приложений. Но самое приятное - это подача, невероятно приятный визуал. Единственный псевдоминус - диктор немного медленно говорит, но на 1.5 смотрится на ура

  • @user-cf4dc2wp3q
    @user-cf4dc2wp3q2 ай бұрын

    Очень интересно

  • @user-nw1jq3ie9t
    @user-nw1jq3ie9t2 жыл бұрын

    Большое спасибо тебе, добрый человек! По DI урок бы не помешал отдельный)

  • @qwe5568
    @qwe55682 жыл бұрын

    Спасибо за видос огромное, кратко. четко.

  • @codaza-channel

    @codaza-channel

    2 жыл бұрын

    Всегда пожалуйста! Вам спасибо за комментарий 👍

  • @otabekrustamov3523
    @otabekrustamov35236 ай бұрын

    Как поставить 100500 лайков? Просто топ! Продолжайте внимать видео вы нам очень помогаете 🔥🔥🔥🔥

  • @krahmaletskrakmalets7587
    @krahmaletskrakmalets75872 жыл бұрын

    Да конечно хотим! Тема то важная!

  • @engine4053
    @engine4053 Жыл бұрын

    Хороший канал, спасибо

  • @Ksushadik
    @Ksushadik5 ай бұрын

    Круто. Спасибо

  • @user-ww1ok9lj9r
    @user-ww1ok9lj9r Жыл бұрын

    боже храни codaza!! 🙏

  • @user-zu1tm4mo2k
    @user-zu1tm4mo2k2 жыл бұрын

    Спасибо! Внедрение зависимостей было бы очень кстати разобрать подробнее

  • @MaratSharipov1711
    @MaratSharipov17112 жыл бұрын

    Спасибо! Это самое крутое объяснение DI.

  • @codaza-channel

    @codaza-channel

    2 жыл бұрын

    Пожалуйста! Очень рад, что информация оказалась полезной. Спасибо, что смотрите и оставляете комментарии :)

  • @MaratSharipov1711

    @MaratSharipov1711

    2 жыл бұрын

    @@codaza-channel Вроде и знал и использовал... Но теперь, прям всё по полочкам. Особенно разница между Scoped и Transient

  • @ashotrustavelyan7498
    @ashotrustavelyan74982 жыл бұрын

    ты лучший, етить-колотить))))))

  • @nouchance
    @nouchance8 ай бұрын

    Spasibo

  • @aka76aka
    @aka76aka2 жыл бұрын

    спасибо. теперь мой код будет лучше

  • @ajaxstas
    @ajaxstas8 ай бұрын

    Жаль что видео больше не выходят. Лучший

  • @antonshinkevich7019
    @antonshinkevich70192 жыл бұрын

    Для того, чтобы понять смысл Scoped, пришлось ставить видео на паузу и идти качественнее разбираться с HTTP запросами. Вот так и учусь - через одно место 👍🤣 Спасибо, видео очень доступное, если есть понимание об HTTP запросах и понимание - зачем нужны Dependency Injections.

  • @codaza-channel

    @codaza-channel

    2 жыл бұрын

    Пожалуйста 🙂 Да, перед просмотром видео, все таки требуется базовое понимание HTTP запроса и DI. Здорово, что Вам удалось понять смысл, хоть и тернистым путем 👍

  • @6trica1a3
    @6trica1a32 жыл бұрын

    Расскажи, плиз, подробнее про сам DI Твои видосы просто огонь 🔥

  • @kl45gp
    @kl45gp Жыл бұрын

    нужно детальное видео по DI

  • @sherovaslan2708
    @sherovaslan27082 жыл бұрын

    Жду видео по Dependency Injection Кэп

  • @avet9177
    @avet917714 күн бұрын

    👍

  • @artmasterio1036
    @artmasterio10362 жыл бұрын

    Сделайте пожалуйста видео на тему C# AutoResetEvent и ManualResetEvent на примере кнопок WinForms. В сети нет таких примеров

  • @DENDYTWOO
    @DENDYTWOO2 жыл бұрын

    Сделай видео по asp net , mvc . пожалуйста!!!!!! Очень хороший качественный контет

  • @postman2084
    @postman2084 Жыл бұрын

    Отличное видео, жаль что продолжений нет.

  • @ashotrustavelyan7498
    @ashotrustavelyan74982 жыл бұрын

    запили пжл, про DI

  • @velfex
    @velfex2 жыл бұрын

    Данный материал подходит для ASP.NET Core (Net 6) или есть между ними критические отличия? Спасибо за ролик.

  • @codaza-channel

    @codaza-channel

    2 жыл бұрын

    Вся информация в ролике самая свежая 🙂 Живой пример как раз на .NET 6.

  • @velfex

    @velfex

    2 жыл бұрын

    @@codaza-channel спасибо :)

  • @eazfloy1342
    @eazfloy1342 Жыл бұрын

    А что получаться то, в Singleton можно при каждом обращении делать set нового guid)

  • @kl45gp
    @kl45gp Жыл бұрын

    в DI кстати необязательно передавтаь интерфейс(асбтракцию), можно только реализацию.

  • @codaza-channel

    @codaza-channel

    Жыл бұрын

    Можно 🙂

  • @sergeyvasilenko7641
    @sergeyvasilenko7641 Жыл бұрын

    +1

  • @shurale85
    @shurale852 жыл бұрын

    Допустим есть два сервиса в контейнере: один синглтон, другой пусть будет скопед. Синглтон внутри использует второй сервис. Каковым будет поведение синглтона, учитывая что у зависимости жизнь коротка? Все будет работать, но просто логика нарушится?

  • @codaza-channel

    @codaza-channel

    2 жыл бұрын

    Спасибо за отличный вопрос. Хорошая новость, что так сделать нельзя. Если Вы всё же попытаетесь это сделать, то при попытке запуска вашего приложения, Вы получите ошибку о том, что Scoped-сервис не может быть инжектирован в Singleton-сервис.

  • @shurale85

    @shurale85

    2 жыл бұрын

    @@codaza-channel спасибо!

  • @leonid_konoplin
    @leonid_konoplin2 жыл бұрын

    Два вопроса: 1 дотнет для каждого http запроса создаёт новый transient контроллер? 2 почему в контроллер было внедрение в конструктор а не в метод с использованием атрибута FromServices? Какие зависимости в класс контроллера лучше внедрять в конструктор, а какие в метод?

  • @codaza-channel

    @codaza-channel

    Жыл бұрын

    1. Да, по умолчанию в ASP.NET создаётся контроллер на запрос с временем жизни transient. 2. Внедрение через метод следует использовать, когда потребитель внедренной зависимости меняется при каждом вызове или, когда внедряемая зависимость меняется при каждом обращении к потребителю.

  • @leonid_konoplin

    @leonid_konoplin

    Жыл бұрын

    @@codaza-channel извини, второе не понятно. Если есть возможность дай пожалуйста ссылку на источник, в котором бы это объяснялось.. А может быть это инфоповод для нового видео... ;)

  • @codaza-channel

    @codaza-channel

    Жыл бұрын

    ​@@leonid_konoplin Конечно, вот отличная книга где хорошо объясняются принципы внедрения зависимостей: Внедрение зависимостей на платформе .NET. 2-е издание | Симан Марк, ван Дерсен Стивен

  • @maflend2762
    @maflend27622 жыл бұрын

    Боооольше asp

  • @Mara-pool
    @Mara-pool4 ай бұрын

    Скинь трек пжл

  • @donpedro2125
    @donpedro21256 ай бұрын

    Чел, ты нас усыпить хочешь или донести что-то. Тебя невозможно смотреть на скорости ниже 1.5. Экономь чужое время, братан. Сам контент хороший, тут лайк.