41) Asp.NET Core 5.0 - Middleware Nedir? Nasıl Oluşturulur?

Поділитися
Вставка
  • Опубліковано 8 лип 2024
  • Github : github.com/gncyyldz #aspnet #netcore #programlama #yazilim
    İçindekiler :
    00:00 Giriş - Middleware Nedir?
    05:30 Middleware'ler Nasıl Çalışır?
    19:20 Run Middleware'i
    25:38 Use Middleware'i
    33:08 Map Middleware'i
    35:19 MapWhen Middleware'i
    36:56 Custom Middleware Oluşturma
    Bu video Gençay Yıldız tarafından NGAkademi bünyesinde ücretsiz çekilmiştir.
    Ders notları ve dosyalarının hepsine aşağıdaki adresten erişebilirsiniz.
    ngakademi.com/courses/ozel-de...
    Gençay Yıldız'ın Bloğu
    www.gencayyildiz.com/blog/
    Güncel Duyuru ve Bildiriler İçin Sosyal Medya Hesaplarımız
    / ngakademi.sosyal
    / ngakademi
    / ngakademii
    Bana destek olmak için kanalıma üye olabilirsiniz:
    / gençay yıldız

КОМЕНТАРІ • 68

  • @mrg4545
    @mrg4545 2 роки тому +57

    Bu bir kaynağı başka kaynağa translate etmek değil, yılların emeğini tecrübesini ücretsiz bir şekilde sunmaktır. Bu ülkedeki gençlere yapılabilecek en güzel işlerden birini yapıyorsunuz hocam, çok teşekkürler.

  • @ugurcanalyuz9068
    @ugurcanalyuz9068 3 роки тому +40

    Gerçekten laptop önüne çaydanlık koy izlet o bile anlar. Helal valla :)

  • @uzaykahraman2746
    @uzaykahraman2746 3 роки тому +18

    Videoları hem izliyor hemde altındaki yorumları okuyorum, gördüğüm kadarıyla hem ücretsiz çok kaliteli içerik üretirken hemde çok kaliteli bir kitleye sahip olmuşsunuz. Anlatım gibi sorularda öz ve yalın. Başarılı anlatım, başarılı yaklaşım, başarılı eğitim. Devamını dilerim Hocam.

  • @emreesencomtr_
    @emreesencomtr_ 2 місяці тому +1

    Emeklerinize sağlık hocam. Allah razı olsun

  • @Merve_Esen
    @Merve_Esen 10 місяців тому +2

    Detaylı anlatımınız için çok teşekkürler hocam

  • @emircankorgeneral1724
    @emircankorgeneral1724 9 місяців тому +1

    Hakkın ödenmez be hocam..... teşekkürler

  • @batuhanaslan2987
    @batuhanaslan2987 3 роки тому +4

    Hocam sonsuz teşekkürler. Bu serinin hızlanmasını istiyoruz. Kolay gelsin.

  • @maheser2076
    @maheser2076 2 роки тому +5

    Hocam emeğinize sağlık. Anlatımınız gerçekten çok akıcı ve anlaşılır. Teşekkür ederim.

  • @yusufozel7426
    @yusufozel7426 2 роки тому +2

    Usta bi konu bu kadar temiz anlatılabilirdi.

  • @salihacur3201
    @salihacur3201 3 роки тому +1

    Hocam mükemmel anlatmışsınız, teşekkürler.

  • @oguzhandenz
    @oguzhandenz 3 роки тому +2

    çok iyi anlatılmış.

  • @SelimMERIC
    @SelimMERIC 3 роки тому +1

    Velhasıl güzel çalışma olmuş. Emege sağlık..

  • @aykutyldz9157
    @aykutyldz9157 2 роки тому +1

    Teşekkür ederiz hocam.

  • @mervemor426
    @mervemor426 3 роки тому +3

    Hocam ağzınıza sağlık çok teşekkürler : )

  • @hikmetfazila6299
    @hikmetfazila6299 6 місяців тому +1

    emeğinize sağlık hocam

  • @dev.emredinc
    @dev.emredinc 8 місяців тому +1

    Emeğinize sağlık hocam

  • @bed____
    @bed____ 6 місяців тому +1

    Ağzınıza sağlık hocam. Emekleriniz için teşekkürler.

  • @karakzleyligul3130
    @karakzleyligul3130 2 роки тому +2

    Emeginize saglik. Gercekten cok aciklayici bir video olmus :)

  • @enesercan3841
    @enesercan3841 Рік тому +1

    Hocam detaylar için çok teşekkürler, emeğinize sağlık.

  • @efealialemdar7001
    @efealialemdar7001 8 місяців тому +1

    Gerçekten bambaşka bir kralsın. Eline sağlık.

  • @moonlight-bq6lr
    @moonlight-bq6lr 5 місяців тому +1

    Çok teşekkürler hocam, harika anlatmışsınız

  • @jafaraghamaliyev5347
    @jafaraghamaliyev5347 Рік тому +1

    Teşekkürler hocam

  • @Dalguish
    @Dalguish 8 місяців тому +1

    Cok tesekkur ederim.

  • @imranekberli2933
    @imranekberli2933 2 роки тому +2

    Tesekkurler Xoca,emeyiniz ucun tesekkur edirem.Azerbaycandan salamlar.

  • @javidibra6786
    @javidibra6786 9 місяців тому +1

    Mukemmelsiniz Hocam.Azerbaycandan sevgiler, hurmetler

  • @AygyunAhmed-xo5hg
    @AygyunAhmed-xo5hg 6 місяців тому +1

    Iyi niyeti bir elestiri yapacak olursam, IDE'nizi dark modda kullanmaniz benim icin super olurdu. Onun haricinde yine mukemmel faydali bir video olmus. Elinize, emeginize saglik.

  • @osmansalihkaratay8228
    @osmansalihkaratay8228 11 місяців тому

    Destek ve teşekkür yorumu :)

  • @emreylmaz2806
    @emreylmaz2806 9 місяців тому +1

    çok büyük adamsın hocam

  • @Bilal-fr4ox
    @Bilal-fr4ox 3 роки тому +3

    Teşekurler Hocam....branş farketmeksizin herseyi size anlattirsalar keske : )

  • @mustafagasimzada5477
    @mustafagasimzada5477 Рік тому +1

    👍👍👍

  • @CirillaFionaElenRiannon_
    @CirillaFionaElenRiannon_ 3 роки тому +1

    Teşekkürler. Birde ek olarak Middleware oluşturmanın iki yolu mevcuttu benim bildiğim:
    1-) Convention-based middleware (Metod ile)(Sözleşmeye dayalı)
    (Yani sizin anlattığınız)
    2-) Strongly typed middleware (interface ile)

    •  3 роки тому +2

      Factory based middleware'de var :)

    • @CirillaFionaElenRiannon_
      @CirillaFionaElenRiannon_ 3 роки тому

      @ Hocam aralarinda işlevsellik acisindan fark yok degil mi sadece yontemler farkli.

  • @ugursesen7629
    @ugursesen7629 Рік тому +1

    hocam amerikada çalışan bir Türk vardı , programcı kendisi , middleware i anlatırken (request) başladığı andan sonuçlandığı ana (response) ye kadar olan süre içinde yapılan her şey middleware dir demişti, ben ne anlamıştım bundan , bir kayıt çağırdı client diyelim, bunun data read, business işlemleri , loglanması , vs.vs. ama sarmal yapıdan bahsetmemişti hiç. sizin verdiğiniz yanlış örnek gibi anlatmıştı. tşkler hocam iyi ki varsınız.

    •  Рік тому

      Canı sağ olsun 🤣

  • @asdasada9783
    @asdasada9783 2 роки тому

    Merhaba hocam. Use metodunu Func gibi bir metod imzası alıyor. Func bir sonraki middleware'i çağırıyor. Bu değer Func değilde RequestDelegate olsaydı daha mantıklı olmazmıydı.. Çünkü custom middleware yazarken constructor'a request delegate veriyoruz ve bir sonrakine gidiyoruz.

  • @dogukanmatuloglu3252
    @dogukanmatuloglu3252 Рік тому

    asp.net core da bulunan middleware ile .net framework deki Handler ve Module eşdeğer midir?

  • @huseyincuma9523
    @huseyincuma9523 Рік тому

    hocam 47:25 de uygulama ayağa kalktığı zaman direk middleware'lerin çalışması gerekmiyormuydu neden illa bi ilgili controller dediniz acaba ?

  • @oguz7296
    @oguz7296 Рік тому

    Hocam Map fonksiyonu ile verilen path'e kaç kez tıklanmış bunun veritabanında güncellenme işlemini yaptırabilir miyiz ? ama bu istek geldiğinde kullanıcı istediği action çalışacak ve kullanıcıya istediği view gösterilecek mesela

  • @siyahtanbirey5822
    @siyahtanbirey5822 2 роки тому

    Arkadaşlar ve Sayın Hocem bir sorum olucak bu middleware ler tamamıyla interfaceler aracılığıylamı oluyor ?

  • @rahibjafarov1798
    @rahibjafarov1798 2 роки тому

    her hangi bir koshul esnasinda kullanilir Run() metodu

  • @furkandag555
    @furkandag555 3 роки тому +2

    Katmanlı yapının üzerinde çok durdunuz. Ve son sırada yazdığımız middleware en başta sonlanıyorsa eğer ; authentication gibi en başta bitmesi gereken işlemleri başta değil de sonda yazmamız gerekmez miydi?

    •  3 роки тому +9

      Burada önce sonlananın, ilk işlevini yerine getiren olarak düşünmemiz hatalı olacaktır. Bir silsile olarak düşünülmeli ve bu silsilede eğer başta olması gereken authentication ve authorization geçerli değilse zaten sonraki middleware tetiklenmeksizin kısa devre misali orada süreç sonlandırılmaktadır.

  • @burakhankurt6215
    @burakhankurt6215 Рік тому +2

    Hocam Merhaba,
    Global hata yonetimi icin bir ExceptionMiddleware yazdigimiz durumda Run middleware ini kullaniyorum. Ornek teskil eder diye dusundum tesekkur ederim :)

  • @jonekane8919
    @jonekane8919 3 роки тому +2

    Gençay Hocam en çok kullanılan middleware listesi gibi bir liste var mıdır?

    •  3 роки тому +2

      Yoktur herhalde 🙃

  • @burakgulec3618
    @burakgulec3618 3 роки тому +3

    middlewarelerin her tetiklenmesi esnasında
    Console ekranına 2 defa aynı çıktıyı yazdırmasının nedeni ne olabilir. Run,Use,Map,MapWhen,CustomMiddleware dahil hepsinde iki defa yazdırma işlemi oluyor

    •  3 роки тому +2

      Ancak yazdığın kodu görerek yorum yapabiliriz.

  • @leader-tr6402
    @leader-tr6402 2 роки тому +3

    Hocam burada this keywordünün işlevi nedir acaba? Şimdiden teşekkür ederim.
    static public class Extension
    {
    public static IApplicationBuilder UseMerhaba(this IApplicationBuilder applicationBuilder)
    {
    return applicationBuilder.UseMiddleware();
    }
    }

    • @tahaozturkk
      @tahaozturkk Рік тому

      extension methodlarda this keyword'u zorunludur. bir nevi extension method imzası

  • @hasanfurkanfidan8985
    @hasanfurkanfidan8985 3 роки тому +1

    Hocam selamlar,kendi kendini belirli bir saat diliminde yada dilimlerinde tetikleyecek bir apiye ihtiyacım var. Kaynak öneriniz var mı?

    • @hasanfurkanfidan8985
      @hasanfurkanfidan8985 3 роки тому

      .net core ile

    •  3 роки тому +4

      www.gencayyildiz.com/blog/asp-net-coreda-hangfire-kutuphanesi-ile-zamanlanmis-gorevler-olusturma/

    • @hasanfurkanfidan8985
      @hasanfurkanfidan8985 3 роки тому +1

      @ Çok teşekkürler ayaklı kütüphane gibisiniz :)

  • @varosh0
    @varosh0 Рік тому +3

    Hocam sektörden kazandığım ilk parayla sizi hamama götürcem ordanda bi çorba içeriz

    •  Рік тому +3

      Hamam ne olum ya 😂😂🤣🤣🤣🤣

    • @varosh0
      @varosh0 Рік тому +1

      @ 😂

  • @siyahtanbirey5822
    @siyahtanbirey5822 2 роки тому

    Eğer ilk yorumum doğruysa interface de middleware kaynaklarını bulabileceğim bir link varmı ?

  • @orientedyazilim
    @orientedyazilim 2 роки тому

    hocam web api de console a nasıl bakıyorsun

    • @serifguler35
      @serifguler35 2 роки тому +2

      VisualStudio içinde çalıştırırken bastığımız run butonun yanında açılan menüde proje ismin ile aynı olan seçeneği seçip çalıştırdığında console gelecektir

    • @orientedyazilim
      @orientedyazilim 2 роки тому +1

      @@serifguler35 teşekkürler

    • @ummugulsumkuytan54
      @ummugulsumkuytan54 Рік тому

      @@serifguler35 tam olarak anlayamadım, nereden yapılıyor ??

    • @serifguler35
      @serifguler35 Рік тому +1

      Programı çalıştırmak icin açtığın yeşil button var ya onun yanında bir button daha var, o buttona basınca proje ismiyle ayni olan seçeneği seçeceksin. Not uzun zamandır visual studio kullanmıyorum değişmis olabilir

  • @onuraydn5330
    @onuraydn5330 Рік тому

    Size middleware ile ilgili güzel bir örnek verim diyelimki elimizde iki adet middleware var.
    Bunlardan birincisi yumurta kırmak, ikincisi ise bakkaldan yumurta almak;
    Şimdi birinci middleware teteklendi ve başladı çalışmaya tam yumurtayı alıcak dolaptan bi baktı yumurta yok; hop orda gördümü next() fonsiyonunu geçti ikinci middware'e nedir bu bakkaldan yumurta almak. bakkaldan yumurta alma işlemi bittiğinde sarmal yapı olmasaydı eğer eve geri gelece fakat yumurtaları dolaba koyucaktı pişirmeye devam etmicekti. sizcede saçma sapan bir durum değilmi o yüzden sarmal tasarlanmıştır. Olması gerekenle birlikte yumurta alındıktan sonra ilk middeware'in next() fonsiyonunun tamamlandığını söyleyerek kalan kısmıda tamamlar ve oda tamamlandığın sonuç dönülür. işte bu kadar basit aslında.
    kod olarakta düşüneceksek eğer
    Useyumurtakır()
    {
    tavayı koy;
    yatayı ısıt;
    yumutakontrol; yumurta bitmiş;,
    next(); => UseBakkaldanYumurta middleware'i tamamlandı mı? ==>>> UseBakkaldanYumurta()
    {
    Yumurtayı al;
    evegetir;
    işlem tamam Useyumurtakır
    }
    ---------------
    Artık kladığım yerden devam edebilirim Usebakkaldanyumurta ihtiyacım olanı getirdi çünkü; işlemi bitirnek için
    yumurta kır;
    karıştır;
    Tüm işlem tamam response dönülüyor;
    }
    İşte middleware mantığı tamda böyle çalışmaktadır. aslında middleware her noktada olmasada çoğu noktada işlemi olması gerektiği gibi tamamlamak için diğer fonsiyonun işlemlerine ihtiyaç duyar. Diyebilirsiniz tek fonsiyon olsa olmazmıydı evet olurdu yine sonucu alırdık ama ne yazılım ahlakı kalırdı ne sürdürülebilirlik kalırdı nede prensipler.
    Kötü yazıımcılar evi bitirmkele ilgilenir
    İyi yazılımcılar ise evet evi btirmekle tabikide oda ilgilenir ama daha çok evi nasıl inşa ettiğiyleyle ilgilenir.
    İşte gençay hocanın kanalınında konsepti budur.
    Çoğu insanımız malesef böyle düşünmüyor üzücü gerçekten.

  • @ertuncakca5405
    @ertuncakca5405 2 роки тому +1

  • @batuhan5769
    @batuhan5769 Рік тому

    hocam merhaba. use içinde if(context.Request.Path == "/Home/JobPage" && context.Request.Method == "POST") böyle bir if yazdım. bu kod daha controllera gitmeden çalışıyor. benim ise controllerdan dönerken çalışmasını sağlamam lazım. ve tabi döndüğü sonucun true olması lazım. nasıl yapabilirim?

    • @batuhan5769
      @batuhan5769 Рік тому

      invoke dan sonra çalıştırınca oluyor fakat responsu nasıl anlarım? controllerdan json döndüğüm için response kodu dönemiyorum. try catch alıp bir şekilde anlayabilir miyim?