Options Pattern deseni sayesinde appsettings.json dosyasındaki kayıtları yapılandırılmış bir şekilde (nesne) ilgili uygulamanın IoC container ına nesne olarak koyacağız. Sonraki süreçlerde ihtiyaç doğrultusunda pratik olacak şekilde dependency injection ı kullanarak talep edebileceğiz. Bu desen bunları sağlamaktadır. uygulamada bir işlemi yapacağım konfigürasyonel değerleri appsettings.json a yerleştirdik. Bunu uygulamanın içinde kullanmak istiyorsak. IConfiguration arayüzünden dependency injection vasıtasıyla […]
appsettings.json Dosyası Nedir? Ne İse Yarar?
özelleştirilmiş bir isim, farklı bir json eklemek istersek yukarıdaki gibi bir yol izleriz. appsettings mimaride arka planda özel tanımlanmış bir isim olduğundan dolayı otomatik bulunup eklenmekte ve uygulama ayağa kaldırılırken ilgili konfigürasyon dosyası içindeki bütün komutlar, bütün konfigürasyonlar önbelleğe yüklenmektedir. Ordan da uygulama davranışını belirlemektedir. Herhangi bir controller da construtor ını oluşturuyorum. IConfiguration configuration; dependency […]
Derinlemesine ViewModel & DTO Yapılarının İncelenmesi -1
T yi TResult a döndüreceğiz. Öncelikle T ye typeof(T) diyerek giriyoruz, reflectionla girdik. GetProperties diyerek ilgili T de ne kadar property varsa bunların hepsini elde ediyoruz. Bunlar bize PropertyInfo dizisi olarak gelecek. Gelen bu dizi üzerinde ToList diyerek IEnumerable a dönüştürüyoruz ForEach diyerek ForEach iterasyonuna giriyoruz. p den veriyi alıp PropertyInfo ya atacağız. AutoMapper ile […]
Derinlemesine ViewModel & DTO Yapılarının İncelenmesi
DTO (Data Transfer Object) veri transferini yapmamızı sağlayan nesnedir. Urun Musteri Personel şeklinde 3 tane verimiz var. 3 tane veriyi Get in view ine göndermek istiyorsak. Tuple nesne kullanabiliriz. Birden fazla nesneyi tek bir nesnede birleştirmemizi sağlar, çoklu nesne oluşturmamızı sağlar. Ya da Fiziksel bir ViewModel oluşturup onun üzerinde birleştirmeyi yapabiliriz. Personel referansına Personel nesnesini […]
Areas
Area Çok Katmanlı Mimari Değildir! Farklı Area larda aynı isimde controller lar olabilir. Bu şekilde uygulamayı çalıştırırsak hata alırız. Controller lar üzerine attribute belirtmemiz gerekir. area:exists in karşılığı areaName dir Actionlar arası veri taşıma kontrolünü/işlemini TempData ile yapabiliriz
