CategoryC#

Fluent Validation (.NET Validation İşlemleri)

F

Bu makale .NET Framework için yazılmıştır. Bu yazının ASP.NET Core için olan güncellenmiş sürümüne buraya tıklayarak ulaşabilirsiniz.

 

İster web, ister mobil bir uygulama yazalım, geliştirdiğimiz uygulama yüzlerce hatta binlerce kişi tarafından kullanılabilir. Özellikle bu kullanıcı kitlesi içerisinde kötü niyetli kişilerin de olabileceğini düşünürsek kullanıcılardan aldığımız verilerin doğruluğu bizim açımızdan büyük önem arz etmektedir. jQuery Validation veya alternatif javascript kütüphaneleri ile bu sorunun önüne geçsek dahi bu doğrulamalar Javascript tabanlı yapıldığından tam güvenlik sağlayamazlar. Uygulamamıza dışarıdan  (get-post vb.) talep gelebileceğinden veya Javascript kapatılabileceğinden client-side olarak yapılan hiç bir doğrulama yöntemine güvenemeyiz.

(daha&helliip;)

C# Birden Fazla Karakter ile Split Kullanımı

C

Blog için yazmaya değer görmediğim ancak sürekli karşıma çıkan ve bir yerlerden kopyala – yapıştır yapmak zorunda kaldığım bu kodu hem kendim daha sonra bulabileyim diye hem de sitemi ziyaret eden kişilere lazım olabilir diye paylaşıyorum.

Hiç bilmeyenler için Split’i açıklamak gerekirse elimde Elma, Armut, Muz” şeklinde bir string metin var diyelim. Bunu virgül ile Split yaptığımda metin içerisindeki virgülleri yok edip geri kalan Elma, Armut ve Muz’u bana bir dizi içerisinde döndürecektir. Detaylar için msdn sayfası: https://msdn.microsoft.com/en-us/library/b873y76a(v=vs.110).aspx

C# da kullanılan split işlemi tek bir karaktere izin veriyor ve normal kullanımda birden fazla karakter ile yani bir metin ile split yapamıyoruz. Aslında yapabiliyoruz ama çoğumuz kullanımını bilmiyoruz :)

(daha&helliip;)

Yandex Metrica API Kullanımı

Y

yandex_metrica

Yandex Metrica, Google Analytics benzeri web sitelerimiz / uygulamalarımız için istatistik sağlayan ücretsiz bir servistir. Kullanımı ve özellikleri bakımından Google Analytics’den eksik yanı olmamasıyla birlikte kullanıcıların site üzerinde neler yaptığını video şeklinde bize sunması gibi ek özellikleri de vardır.

API işlemine geçmeden önce sitemizi Yandex Metrica’ya eklememiz ve verilen kodu sitemize eklememiz gerekiyor. Bu adımlar çok basit ve Google Analytics ile aynı yapıda olduğundan bu adımları atlıyorum ve Metrica’yı sitenize entegre ettiğinizi düşünerek yazıya devam ediyorum.

Yandex API servisine erişebilmemiz için bize iki şey lazım. Birincisi uygulamıza/web sitemize ait bir Application ID, bir diğeri ise bu uygulamaya erişebilmek için güvenlik kodumuz yani token kodu.

(daha&helliip;)

ADO.NET Kullanışlı Fonksiyonlar

A

adonet

Yerini Entity Framework’e bıraksa da küçük çaplı projelerde halen severek kullanmaya devam ettiğim veri erişim sağlayıcısıdır kendileri..

Bir gün Ado.Net ile yazılım geliştirirken Insert, Update ve Delete işlemleri için her seferinde sql sorgusu yazmanın ve bu sorgulara tek tek AddWithValue işlemi yaparak parametre göndermenin benim için aslında ne kadar çok zaman kaybettirdiğini fark ettim ve bu süreyi kısaltmanın çözümlerini aradım. Ayrıca yazdığım Sql sorgularında da dikkatsizlik nedeniyle yazım hataları olabiliyordu.

Çözüm olarak Insert, Update ve Delete işlemleri için üç farklı method geliştirdim. Bu methodlar hem parametre ile gönderim yaparak hız ve güvenli sağlayacak hem de sql sorgularını kendi oluşturarak hata yapma olasılığını sıfırlayacaktı.

(daha&helliip;)

C# MD5 Şifreleme ile Güvenli Şifreler Oluşturma

C

MD5 Nedir ?

Özet geçmek gerekirse;
128bit şifreleme yapılır.
– MD5 ile güvenli şifreler oluşturabiliriz.
– MD5 şifreler geri çevrilemez, tek taraflı convert işlemi yapmaktadır.
– Bazı md5 veritabanlarında şifrelenmiş ve şifrelenmeden önceki halleri saklandığından şifreniz kırılabilir. (Nasıl daha güvenli yaparız anlatacağım.)
– Farklı metinleri md5’e çevirdiğinizde aynı md5 sonucunu verebilir.

(daha&helliip;)

ASP.NET MVC’de DropDownList İçerisinde Enum Değerler Kullanmak

A

Anlatacağım özellik MVC 5.1 ile gelmiştir, 5.1 öncesinde kullanamazsınız.

[csharp]public enum _ArticleType
{
[Display(Name = "Sağlık Köşesi")] HealthArticles = 1,
[Display(Name = "Hastalıklar")] Diseases = 2
}[/csharp]

Yukarıdaki örneğimde _ArticleType adında bir enum’ım var, buraya kadar herşey bildiğimiz gibi. Ek olarak her enum elemanın üzerinde bu enum’ın arayüzde gösterilirken ne şekilde gösterileceği yazıyor. Bunun için Data Annotations‘lardan faydalanıyorum. Usinglerinizin arasına System.ComponentModel.DataAnnotations eklemeniz gerekmektedir. (daha&helliip;)

Multiple types were found that match the controller named ‘Home’

M

Asp.Net MVC’de farklı dizinlerde (farklı arealar) olmasına rağmen birden fazla aynı isme sahip Controller kullanmak istediğimizde aşağıdaki gibi bir hatayla karşılaşıyoruz.

Multiple types were found that match the controller named ‘Home’. This can happen if the route that services this request (‘{controller}/{action}/{id}’) does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the ‘MapRoute’ method that takes a ‘namespaces’ parameter.

Bu sorunun önüne geçebilmek için App_Start klasöründe bulunan RouteConfig.cs dosyasında düzenleme yapmamız gerekiyor.

(daha&helliip;)

String’i Enum’a Çevirmek

S

C# String Bir Veriyi Enum Değerine Çevirmek

Sehir adında bir enum’ımız olsun ve bunun içerisinde Ankara diye bir değerimiz var diyelim. (olmasa da olur) Bu Ankara değerini dinamik olarak kullanmak için aşağıdaki ufak kod yapısını kullanmanız yeterli olacaktır.

[csharp](Sehir)Enum.Parse(typeof(Sehir), "Ankara", true);[/csharp]


Get in touch

Quickly communicate covalent niche markets for maintainable sources. Collaboratively harness resource sucking experiences whereas cost effective meta-services.