NET6 | Etkili ActionFilter Kullanımı

Поділитися
Вставка
  • Опубліковано 8 чер 2022
  • ActionFilter'lar .NET ekosistemindeki önemli yardımcı araçlardan birisidir. Middleware katmanlarından sonra çalışan ActionFilter'lar MVC ile ilgili bilgileri sağlamakla kalmaz onları yönetmemize de olanak tanır. Bu video da ActionFilter'ların nasıl etkili bir şekilde kullanılabileceğini göreceğiz.
    #blazor #webassembly #blazortutorial
    #blazor #docker #dotnet
    Kanala Abone Olmayı Unutmayın!
    To Subscribe: bit.ly/3kvj2vw
    Github: github.com/salihcantekin
    Discord: / discord
    Üyelik ayrıcalıkları için: / @techbuddytr
  • Наука та технологія

КОМЕНТАРІ • 31

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

    C# ta connection string ve string sifreleme ve gelen sifreyi cozme decrypt etmeyi anlatirsaniz cok guzel olur.
    Baska kaynaklarda var cesitli nuget ve libraryler kullanilmis fakat custom bir sifreleme hash i nasil yapilir onu gostermeniz daha saglikli olur.Elinize saglik.

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

    Kaliteli içeriklere devam :) Ağzınıza sağlık.

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

    Önemli bir konu ve güzel bir anlatım. Ağzınıza ve elinize sağlık

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

    Eline sağlık. Sonunda dediğin gibi bu işlemleri yapabiliyor olmak bizi bir adım öne çıkaracak, ayrıca işlerimizi de kolaylaştıracaktır.
    Çok teşekkürler.

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

    Teşekkürler. Büyük bir eksiğimi tamamladı bu ders.

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

      Teşekkürler :) Umarım herkese aynı şekilde faydalı olmuştur.

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

    ActionFilter'ları aktif kullanan biri olarak, çok temiz anlatım olmuş. Ağzınıza sağlık hocam

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

    Eline sağlık, temiz anlatım olmuş hocam.

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

    Ağzınıza sağlık...

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

    Teşekkür ederim. Çok harika bilgiler

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

    teşekkür ederiz.

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

    Emeğine sağlık salih hocam. 😂

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

    👍

  • @teknolojiuzmaniburada
    @teknolojiuzmaniburada 3 місяці тому

    Emeğine sağlık çok teşekkür ederim. Bir sorunla karşılaştım. Şayet bir yerlerde bir sayfa RedirectToAction yapılmışsa, Action Filter OnActionExecutingde gelen filterContextte session kaybolmuş oluyor. RedirectToActionPermenant da denedim aynısı oldu. Redirect yapınca 302 gelince session yok oluyor. Bunu aşmanın bir yolu var mıdır, tavsiye rica edebilir miyim?

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

    Videoların çok kaliteli hocam. Teşekkür ederim kendi adıma.
    Bir şey danışmak istiyordum size. Sektöre yeni adım atmış biri olarak Angular veya Blazor arasında bir tercih yapmam gerekirse hangisi mantıklı olur zaman harcayıp öğrenmek açısından?

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

      Merhabalar. Angular'ın kullanıcısı daha fazla şu an ama öğrenme süresi uzun. Diğer taraftan Blazor öğrenmesi kolay ama çok fazla kişi tarafından kullanılmıyor. Microsoft gerekli yatırımları yapıyor burada. 1-2 yıl içinde çok daha fazla duyacağız Blazor'ı.

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

    Hocam merhaba web sitemde il ilçe semt seçip seçime uygun profil kartlarını nasıl listeletebiliriz rica etsem yardım edebilir misiniz 🙏🏼

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

      Çok genel bir soru olmuş bu. Biraz daha detay verebilir misiniz?

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

    Kendi oluşturduğum filter'ı singleton olarak kaydetmek istiyorum fakat içerisinde bir tane scoped veya transient listeye ihtiyacım var. Singleton Filter içerisinde elimle list new'lesem sorun olur mu? Filter Singleton olduğu için new'lenen listeler memory leak'e sebeb olur mu? Liste'ye IDisposable uygulasam mantıklı olur mu?

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

      Merhabalar,
      Filter'ların Singleton olması gibi bir durumu yok çünkü yaşam döngüleri Scopped olarak çalışıyor ve otomatik olarak çalıştırılıyor. Biz manuel çalıştırmıyoruz. ActionFilter lar adları üzerinde, Action lar çalışmadan hemen önce ve sonra çalışıyorlar. Dolayısı ile Action içerisinde bir list yaratmış olsanız bile action tamamlanınca bellekten silinir o da. GC ise bir süre sonra tam temizliği yapar.
      Sizin ihtiyacınız olan singleton olan bir servis oluşturmak olabilir. Bu durumda singleton yaşam döngüsüne sahip bir servis içinde list oluşturursanız, memory leak vs olmaz.

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

      @@TechBuddyTR Dönüş yaptığınız için teşekkür ederim. Sorum içerisinde aslında Global Fİlterlardan bahsediyordum. Global filterları Filters.AddService metodu ile servis olarak kaydedip kullanıyorum. Filter'ın kendisini de normal servis olarak kaydediyorum. Eğer singleton olarak kaybedersem o şekilde çalışıyor. Fakat bu singleton olarak kaydedilen servis içerinde bir list nesnesine ihtiyacım var. Dolayısıyla elimle new leyerek yeni bir instance oluşturuyorum. Bu singleton filter her çalıştığında kendi içinde yeni bir liste newlemiş oluyor. Filter singleton olduğu için uygulama açık kaldığı sürece dispose edilmez, peki o her çağırıldığında newlenen list nesneleri ne olacak? Garbage Collector bunları fark edip temizler mi yoksa Filter hala yaşadığı için onları da yaşıyor sanarak memory leak sorunu yaşatır mı. Biraz uzun oldu ama sorum buydu.

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

      Action'ların singleton gibi çalıştığı bir yapıyı bilmiyorum .net içinde. Eğer zaten singleton ise filter olmaz. Filter ise de singleton olmaz. Ama singleton bir servis varsa her seferinde çağrılmayacağı için liste bir kere new lenmiş olur ve memory de bir kere yer almış olur.
      Şurada filter'lar var.
      docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters?view=aspnetcore-6.0

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

      @@TechBuddyTR Tekrar dönüş yaptığınız için teşekkür ederim. Maksadım konuyu uzatmak değil ama yeri gelmişken cevap vermek istedim. Global Filter eklemek için iki metot var. Bir tanesi Add diğeri AddService şeklinde. Add kullanırken type olarak filter verilirse scoped olarak çalışıyor, type olarak değil new'leyerek instance olarak verilirse program ayağa kalktığı an tek bir örnek oluyor ve her action da o verilen instance çalışıyor yani singleton gibi. Eğer Add yerine AddService metodu seçilirse filter'ı ayrıca normal servis olarakta kaydetmek gerekiyor. Eğer filter'ı singleton olarak kaybedersek yine singleton olarak çalışıyor olması lazım. Okuduklarım ve denemelerimden çıkardığım sonuçta yazdıklarım ile örtüşüyor. Yanlış anlaşılmasın itiraz ettiğim için değil dönüş yaptığınız için cevap yazmak istedim.

  • @halily.2626
    @halily.2626 2 роки тому

    öncelikle cok tesekkürler. Hocam konu disi olacak ama cok kisa bir sorum vardi internetten arastiriyorum ama henüz cözebilmis degilim: Bir .core 3.1 class library projem var. Bundan publish yoluyla ya da baska bir yolla .dll elde etmek istiyorum. Bu tek parca .dll in de .core 3.1 runtim'larini icermesi lazim cünkü .core olmayan bilgisayarda .net framework projelerinden olusan bir solution'da bu dll'e bir .net framework projesinden refererans edicem ve kullanicam. Publish seceneklerinde self-contained secenegini isaretlememe ragmen dll dosyasi 16 kb cikiyor yani icinde core runtimelari yok. En azindan 30 mb olmasini falan bekliyorum. Yapmak istedigim sey mümkün mü, cevap evetse neyi yanlis yapiyorum acaba ?

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

      Merhabalar,
      Şu adreste detaylar var. Uyguladınız mı buradaki adımları?
      docs.microsoft.com/en-us/dotnet/core/deploying/single-file/overview

    • @halily.2626
      @halily.2626 2 роки тому

      @@TechBuddyTR evet burayi da okudum. Arastirdigim kadariyla .core ile tek dosyalik icinde run times libleri olan exe dosyasi publish etmek mümkün fakat .dll dosyasi üretmek maalesef mümkün degilmis. tesekkür ederim.