Ana içeriğe atla

Kayıtlar

2015 tarihine ait yayınlar gösteriliyor

MS.Net kodlarını gizlemek

Üzerinde çalıştığım projelerden birinde uygulama kodlarını yetkisiz kişilerden saklamak için kodların saklanması gerekiyordu. Önemli noktalardan biri eskiden reflector ile yaptığımız şekilde kodları msil kodundan tekrar c# koduna çevirebiliyoruz. reflector'ü redgate aldıktan sonra paralı olarak sunmaya başladı. Bu arada da alternatif çözümlerde çıktı tabii. Benim en çok kullandığım Ilspy . Ayrıca telerik'inde bedava dağıttığı JustDecompile adlı bir alternatif'te mevcut. arasak dahada çıkacağına eminim. Neyse konumuza tekrar geri gelelim. Amacımız bu araçlarla uygulama kodlarımıza geri dönülememesi. Bunun için obfuscation araçları kullanılıyor. Nedir bu obfuscation derseniz. Kelime anlamı şaşırtmaca olan bu işlem bize yazdığımız kodların çalışmasını engellemeden kodu karıştırarak decompiler toollarının kodu görmesini önlemeyi sağlıyor. Yani kodumuz gizlenmiş oluyor. Birçok alternatif var. paralı olanların yanında birde bedava var. benim işimi çok iyi gördü :


http://yck1509.…

NHibernate ile Update Sorgusu Oluşturma

NHibernate ile hiç Entity'i alıp üzerinde değişiklik yapıp sonrada update komutunu çalıştırmadan sadece sorgu ile bir işlem yapmak bazen çok daha iyidir. Bu benimde kullandığım yöntemlerden bir tanesi. Örnek olarak EUser ismindeki entity içerisindeki LastOperationDateTime alanını her sayfa isteğinde o anki tarih ve saat ile set etmek istiyorum. O zaman bunu uzun yoldan EUser entity'sini çek sonrada değeri değiştir ve kaydet yöntemi ile yapmak biraz maaliyetli oluyor. Bu noktada benim yaptığım ise bir update sorgusu yazmak :

publicDateTime SetLastOperationDateTime(long userId) {     var dateTime =DateTime.Now;     //Session.CreateQuery("UPDATE EUser SET LastOperationDateTime = :dt where Id = :id")//    .SetDateTime("dt", dateTime)//    .SetInt64("id", userId)//    .ExecuteUpdate();var q = Session.GetNamedQuery("SetLastOperationDateTime");     q.SetDateTime("dt", dateTime);     q.SetInt64("id", userId);     q.ExecuteUpda…

C# ile makina veya Domain kullanıcı bilgilerine erişim

Bu iş için Directory Service kütüphanesi içinde zaten alt seviyeli sınıflar mevcut idi ancak bir üst seviyeli sınıf ile işlemi daha kolay hale getirmişler :

string userName =string.Empty;using(PrincipalContext pc =newPrincipalContext(ContextType.Domain,"Your Domain Name")){UserPrincipal user =newUserPrincipal(pc); user =UserPrincipal.FindByIdentity(pc,"User ID Will Come here");if(user !=null){ userName = user.GivenName+" "+ user.Surname;}else