Attribute Nasıl Çalışır | ActionFilterAttribute | .NET
Вставка
- Опубліковано 5 жов 2024
- Sistemimizde kullandığımız Attribute'lerin nasıl çalıştığını merak ettiniz mi? Peki hayatımızı nasıl kolaylaştıracağını biliyor musunuz? Çok geniş bir kullanım olan ASPNET WebApi Projelerindeki ActionFilterAttribute kullanımını bu videoda detaylıca anlattım. Keyifli seyirler.
#ActionFilterAttribute #aspnetcorewebapi #dotnetdeveloper
#blazor #docker #dotnet
MSDN: learn.microsof...
ActionFilters: code-maze.com/...
Kanala Abone Olmayı Unutmayın!
To Subscribe: bit.ly/3kvj2vw
Github: github.com/sal...
Discord: / discord
Üyelik ayrıcalıkları için: / @techbuddytr
Hocam seçdiğimiz Controller lara filter attribute eklediğimiz zaman AddControllers den de eklemeğimize gerek varmı? Bildiğim kadarıyla AddControllers de add filter yazdıkda global olarak tüm controller lara ekleniyor, o yüzden getType la return conditionı yazmağımıza gerek kaldı. Eğer 80-90% controller larımızda ihtiyacımız olan ancak kalan controller larda çalışmamasını istediğimiz bir filter olsaydı o zaman evet böyle yapmamız gerekirdi. Kaçırdığım bir şey mi var yoksa global filterin çalışmama yolunu göstermek için de böyle yazdınız.
Evet haklısınız, addcontroller da ekleyince otomatik olarak tüm controller lar için eklenmiş oluyor. Diğer yandan controller üzerine ekleyince sadece o controller için çalışıyor.
Videoyu kayıt ederken arada bir yerde durdurmuştum, yeniden kayda başladıktan sonra bahsetmeyi unutmuşum. İkisini de yapmaya gerek yok ama iki yöntemi de göstermek istemiştim. :)
@@TechBuddyTR Hocam 90% etkilemesini istiyoruz fakat geri kalan sadece 10% için etkilenmemesi için ayrı bir Attribute mu yazmak gerekiyor yoksa Attribute'lerde etkilenmemesi disable özelliği var mı?
anladım hocam, iyi ki göstermişsiniz😊
@ihsan güç Bir ay önce bu tür bir durumla karşılaşmıştım ve disable özelliğini bulamamışdım(bildiğim kadarıyla böyle bir özellik yok). Yeni bir Attribute oluşturarak sorunu hall etmiştim
@@ihsanguc7172 ayrı bir attribute de olabilir. Vey bu attribute içinde eğer controller şuysa çalışma falan gibi manuel bir kontrol yapılabilir
Hocam Tenant projeleri ile ilgili bir videoya çok ihtiyaç var. Minnettar kalırız.
Çok faydalı içerikler üretiyorsunuz hocam, emeğinize sağlık :)
Teşekkürler, elinize sağlık...
Ağzınıza sağlık hocam
Teşekkürler hocam.
Teşekkürler :)
Emeğinize sağlık.
ActionFilter gibi çalıştığı class ya da metodu runtime’da manipüle edebilen bir attribute sıfırdan nasıl kodlanabilir? Bununla ilgili bir içeriğinde faydalı olacağını düşünüyorum.
Teşekkürler.
Teşekkürler :)
Request response loging senaryosu middleware'de yaptığınız ile aynı işlemi yapıyor. Burda kullanım class-method bazında özelleştirmek istersek attribute, tüm requestler için istersek middleware tanımlayabiliriz diye yorumladım. Doğru yerde miyim ? :)
Doğru yerdesiniz :)
👏
Bir iş görüşmesinde HttpContext içerisinde neden Items içerisinde taşımayalım diye sorusu gelmişti. Yanıtı, Items içerisindeki Maximum Value size 4kb ve her request içerisinde bu veri Items içerisinde Allocat edilir ancak DI ile sadece lazım olduğunda alınır diyerek geçtim.
Cookie ile karıştırmışsınız. Context Items ile taşıyabilir sorun yok. fakat servis ve diğer katmanlarda httpcontext erişmesi gerekir. Buda servis katmanlarında aspnet bağımlılığına neden olur.
@@halitm Burada verinin sunucu tarafında taşınmasından bahsediliyordu diye hatırlıyorum. Cookie hem Browser hemde Server üzerinde taşınabilir.
19:37
burda services ekledik ama
ua-cam.com/video/QGCOFV-Za_o/v-deo.html
burda ekelememize gerek yok demişsiniz.
bu videoda eklediğimiz için mi actionfilterattribute da eğer tenantactionfilterattribute sahip değilse next ettik?
ya da daha başka bir soru sorayım.
bir request'ın action ve ya controllerı actionfilterattribute sahip olsa da olmasa da o request her actionfilter içinden next next diyerek devam mi ediyor?
Şöyle ki;
Eğer services.AddControllers' içerisinde ekliyorsak zaten tüm controller'lara otomatik olarak eklemiş oluyoruz bu attribute'ü. Ama eğer buraya eklemiyorsak ve gidip manuel olarak bir controller'a veya Action'a ekliyorsak o zaman sadece onlar için çalışıyor oluyor.
Sorunuzun cevabı olarak;
Evet :)