CategoryMicrosoft .NET

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;)

Asp.Net Button’u Font Awesome Icon’a Çevirmek

A

fontawesome-aspnet

Msdn forumları, Stack overflow vb. baya araştırmam sonucu yazılan mesajlardan yapılamayacağını öğrendim. Ama yaptım, evet başardım :)

FontAwesome’ı neden button olarak kullanmam gerektiğini merak edenler için; repeater içerisinde ikon olarak kullanıp, tıklandığında itemcommand’ı tetiklemem gerekiyordu. Bunun için bir asp button’una ihtiyacım vardı.

Anlatacaklarım Asp.net WEBFORMS içindir, Asp.net MVC yapısı gereği zaten çok basit bir şekilde kullanılabilmektedir.

Öncelikle button’umuzu button görünümünden kurtarıp metin haline getirmek için aşağıdaki gibi bir css class’ı yazıyoruz.

(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]


C# Visual Studio Unit Test için Gerekli DLL Dosya Yolu

C

Visual Studio üzerinde [TestMethod] [TestClass] gibi Unit Test‘e ait attributeleri kullanmak için UnitTestFramework.dll ‘ ine ihtiyacınız var. Referans olarak eklemek istediğinizde Visual Studio içerisinde varsayılan olarak bulunmayabiliyor. Aşağıdaki dosya yolundan ekleyebilirsiniz.

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll

 

Not: Visual Studio sürümünüze göre versiyon numaraları değişilik gösterebilir.

Bir Class İçerisindeki Methodları Dinamik Olarak Çağırmak (Reflection – Invoke İşlemi)

B

reflection

ir class içerisinde bulunan bir methodu veya o class içerisindeki tüm methodları duruma göre dinamik olarak çağırmak isteyebiliriz. Bu işlem için bir çok farklı yol izleyebiliriz.

Örneğimizde elimizde methodlarımızın bulunduğu bir Functions.cs classımımız var. İçeriği toplam 5 method’dan oluşuyor ve bu methodlar içerisindeki string ifadeleri geriye döndürecek yapıdadır. UI (kullanıcı arayüzü) tarafında ise bu methodlardan dönen değerleri bir listbox içerisinde yazdıracağız.

(daha&helliip;)

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created

S

prevent

SQL Server Management Studio üzerinde veritabanındaki bir tablo üzerinde değişiklik yapmak isteğinizde standart olarak aşağıdaki hatayı verir ve değişiklik yapmanıza izin vermez. Bunun nedeni tablolarınıza müdahale edilmesini engellemektir ve güvenlik nedeniyle açık gelir. Özellikle Code First bir proje yazıyorsanız  Designer üzerinden tablolarınızın yapısının değiştirilmesi projelerinize ciddi zararlar verebilir.

Saving changes is not permitted. The changes that you have made require the following tables to be dropped and re-created. You have either made changes to a table that can’t be re-created or enabled the option Prevent saving changes that require the table to be re-created.

SQL Server Management Studio üzerinden bu değişikliklere izin vermek için aşağıdaki adımları takip edin;

1. Tools menüsünden Options‘a giriyoruz.
2. Soldaki listeden Designers bölümüne geliyoruz.
3. Prevent saving changes that require table re-creation bölümü checkli gelecektir bu check’i kaldırıyoruz.
4. Ok’a basarak keyfimize bakıyoruz :)

 

 

 

Get in touch

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