.Net Core Exception Handling Middlewares | Dependency Injection

  Рет қаралды 7,294

Tech Buddy

Tech Buddy

Күн бұрын

Bu videomuzda daha önce anlamış olduğum Dependency Injection kavramını da kullanarak .Net Core üzerinde merkezi bir hata yakalama mekanizması gereçekleştirdik.
In this video, by using Dependency Injection, which I have mentioned in earlier videos, we build a centralized exception handling mechanism that allows you to catch all unhandled exceptions in your project.
#dotnetcore #exceptionhandling #middlewares
Kanala Abone Olmayı Unutmayın!
To Subscribe: bit.ly/3kvj2vw

Пікірлер: 16
@yasinclsk
@yasinclsk 2 жыл бұрын
eğitim için teşekkürler. 8:25'te uygulamanın invoke metodu içerisinden devam edeceğini söyledik ama bu işlem nasıl gerçekleşiyor. invoke metodunu tetikleyen etmen nedir orada
@TechBuddyTR
@TechBuddyTR 2 жыл бұрын
Biz bu Middleware'ı .NET Core içerisine ekliyoruz. Dolayısı ile Invoke metodu da .NET sisteminin kendisi tarafından tetikleniyor.
@yasinclsk
@yasinclsk 2 жыл бұрын
@@TechBuddyTR teşekkürler. Ufak bir araştırma sonucunda middleware yapilandirmasinin sarmal bir şekilde çalıştığını bir middleware'in başka bir middleware'i tetiklerken onun invoke metodunu çağırdıni ve her olusturulan middleware yapisinin icinde invoke metodunun olması gerektiğini farkettim. Ayrica recrusive mantıkta çalıştığından videoda bahsettiginiz next.Invoke() işleminin öncesindeki islemlerinin request, sonraki islemlerinin response sürecini kapsadığını kafamda daha net oturtmuş oldum.
@ugursesen7629
@ugursesen7629 3 жыл бұрын
Hocam exception gibi Ilogger'uda bu yöntemle kulanabiliriz değil mi?
@aslanamca8225
@aslanamca8225 3 жыл бұрын
try-catch ve exception konusunda mantık olarak eksiğim var. Anlayamadığım şey şu; örneğin validation yaptığımızı düşünelim, eğer herhangi bir sorun varsa geriye ErrorResult gibi bir sınıf ve içerisinde hataları dönebiliriz. Aynı şey iş kuralları veya diğer yapılar içinde geçerli. Neden exception fırlatıp daha sonra bunu yakalamaya çalışıyoruz? Try-catch maliyetli bir şey değil mi? if gibi kontrol yapıları ile kontrol edilemeyen hataları yakalamak için try catch kullanılabilir bunu anlıyorum. Elimiz ile kontrol edip başarılı veya başarısız gibi durumları dönebileceğimiz yerlerde exception fırlatmanın mantığı nedir?
@TechBuddyTR
@TechBuddyTR 3 жыл бұрын
try-except yapıları en çok iç içe çağırılan fonksiyonlardaki aksiyonları algılamak ve buna göre aksiyon almak için kullanılıyor. Bir fonksiyon düşünün ve bunun içinde başka servislere giderek başka işlemler yapılıyor. Bu başka işlemler yapılan metodların hepsinin içine teker teker girip if yazmak lazım. Daha sonra bu if leri kendi ana metodumuzda da yazmak lazım ki içerideki metodlarda bir hata olup olmadığını anlayabilelim. Dolayısı ile hata olup olmadığını kontrol etmek istediğimiz her noktada işler uzamaya başlıyor. Ne kadar çok metod çağırıyorsak o kadar fazla if yazmış da oluyoruz aynı zamanda. Ama bunların hepsini, tek bir metod içinde try-catch içinde yazmak işimizi kolaylaştırıyor. Hem de metodların içinde bir hata olduğunda exception fırlatarak istediğimiz mesajı içine ekleyebiliyoruz. Diğer bir avantajı ise exception fırlattığımız kod satırından sonraki satırlar çalıştırılmıyor. Eğer exception fırlatmadan if ile kontrol etseydik tüm if lerimiz if-else bloğu şeklinde olurdu. Eğer hata yoksa şu kod satırlarını çalıştır, varsa şunları çalıştır gibi.
@aslanamca8225
@aslanamca8225 3 жыл бұрын
@@TechBuddyTR Evet böyle düşününce mantılı. Sizin videolarınız altında çok soru soruyorum kusura bakmayın ama sizi yakalamışken de sormak istiyorum :) Web API söz konusu olduğunda exception'ı yakalayıp geriye json formatında bir mesaj dönmek nispeten kolay gibi. Peki eğer MVC gibi web app olsaydı exceptionları nasıl ele alırdık? Sonuçta orada view var ve kullanıcıya bir şey gösterilmesi gerekiyor. Bu konuda da bilginizden faydalanmak isterim :)
@TechBuddyTR
@TechBuddyTR 3 жыл бұрын
@@aslanamca8225 Estağfurullah, istediğiniz gibi sorabilirsiniz sorularınızı pek tabi ki. MCV projelerinde eğer IoC kullanabiliyorsak belki exception için interrupter'lar yazabiliriz. Eğer kullanamıyorsak da controler içerisindeki metodlarda yazabiliriz try-catch bloklarımızı. View içerisinde oluşacak hataları da ikiye ayırmak lazım. Eğer view açılırken bir hata oluşuyorsa zaten controller da yakalayabiliriz bunu sorun olmaz ama sayfa açıldıktan sonra bir jquery veya js kullanırken bir hata alıyorsak orada da elle hata yakalamak gerekecek gibi duruyor
@ugursesen7629
@ugursesen7629 3 жыл бұрын
middleware sayesinde CRUD işlemlerini ILOGGER da kaydedebilirmiyiz?
@TechBuddyTR
@TechBuddyTR 3 жыл бұрын
Tabi ki, ILogger ı kullanarak middleware içinde istediğimizi loglayabiliriz. Ama Crud işlemleri için efcore un savechanges metodu altında da logger kullanarak loglayabiliriz
@tugrulyuksel3483
@tugrulyuksel3483 3 жыл бұрын
Aspect mantığı ile mi Exceptin handling yapmak daha mantıklı yoksa middleware kullanarak mı yapmak daha mantıklı
@TechBuddyTR
@TechBuddyTR 3 жыл бұрын
Exception handle edildiğinde ne yapacağımızla da alakalı aslında bu un cevabı. Sadece exception oluştuşunda haberim olsun logumu basayım ama exception hayatına devam etsin dersek aspect daha mantıklı. Diğer yandan middleware içerisinde tüm süreci kendimiz kontrol edebiliyoruz. Response devam edecek mi etmeyecek mi ona kendimiz karar verebiliriz
@agitelgun266
@agitelgun266 3 жыл бұрын
🚀🚀🚀🚀
@alpertorun8728
@alpertorun8728 2 жыл бұрын
Emeğinize sağlık.
@alifurkangokce9852
@alifurkangokce9852 4 жыл бұрын
Emeğine sağlık
@TechBuddyTR
@TechBuddyTR 4 жыл бұрын
Çok teşekkürler.
.Net Core Request Response Logging | Middleware
31:35
Tech Buddy
Рет қаралды 11 М.
ManyToMany-Sorting [Video1]
47:27
Abdulla Aburomman
Рет қаралды 193
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 913 М.
WebApi Task Async Benchmark | Await Task | Async Task Api
34:06
.Net Core CQRS + MediatR | CQRS Pattern | Mediator Pattern
29:45
Error handling strategies in ASP.Net Core APIs
18:20
Codewrinkles
Рет қаралды 6 М.
.Net Core 7 Web Api | Global Exception Handler
30:37
Cem Keskin
Рет қаралды 1,8 М.
Onion Architecture | Soğan Mimarisi | Dotnet Core
18:24
Tech Buddy
Рет қаралды 14 М.
Global Exception Handling in ASP.NET Core Web API (.NET 8)
18:05
.Net Yazılımcı Teknik Mülakatı | Senior Developer Hakkı Sağdıç
42:58
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН