Anasayfa / C# Guid Kullanımı
C Sharp Guid Kullanımı
10850 19 Ağustos 2016 Cuma, 10:49 C Sharp

C# GUID Nedir?

GUID birbirine benzemeyen benzersiz değerler oluşturmak için kullanılmaktadır. GUID'nin açılımı "Globally Unique IDentifier" dır. Türkçe çevirisi ise "Genel Benzersiz Tanımlayıcı" olarak belirtilmiştir.

C# GUID Projelerde Kullanımı

Birbirine benzeyen veya birbirine benzemeyen iki farklı içerik oluşturmak için projelerimizde GUID kullanabiliriz. Bazı işlemlerde GUID kullanmak neredeyse zorunlu ve bazı işlemlerde ise tercihinize bağlıdır. Örnek vermem gerekirse:

Web sitenize makale resmi yüklediğinizi varsayalım. Yüklediğiniz resimler aynı dizinde saklanıyor ve veritabanınıza resmin URL yolunu kaydediyorsunuz. Örneğin Kullanıcı web sitesindeki makalesine 1234.jpg adlı resmi ekleyerek dosya sistemine yükledi.

Resmi yükledikten sonra kullanıcı bu seferde yeni makalesine farklı görüntülü fakat aynı isimde yeni resim yüklemeye kalkıştı. Böyle bir durumda ilk yüklediği resim silinecek ve yerine son yüklediği resim yüklenecektir.

İşte böyle durumları engellemek için kullanıcıların yüklediği resimlere otomatik olarak benzersiz isim vermemiz gerekiyor. Bunun için GUID değerini kullanırsak bu sorun ortadan kaldırmış oluruz.

C# ile GUID Kullanımı

Aşağıdaki örneğimizde resim yükleme işlemi yaparken GUID ile resmimize benzersiz isim vererek resim dosyalarımızın yok olmasını engelliyoruz.

 
                                     protected void btUpload_Click(object sender, EventArgs e)
                                     {
                                         string photoName = string.Empty;  
                                         string photoExtension = string.Empty;

                                         if (FlUpload.HasFile) 
                                         {
                                             photoExtension = Path.GetExtension(FlUpload.PostedFile.FileName);

                                             if (photoExtension.ToLower() == ".jpg" || photoExtension.ToLower() == ".png")
                                             { 
                                                 photoName = Guid.NewGuid() + photoExtension;
                                                 FlUpload.SaveAs(Server.MapPath("~/uploads/photo/" + photoName));
                                                 ltInfo.Text = "Resim yükleme işlemi başarılı.";
                                             }
                                             else
                                             {
                                                 ltInfo.Text = "Resim uzantısı eşleşmiyor...!";
                                             }
                                         }
                                         else
                                         {
                                             ltInfo.Text = "Resim yüklemediniz...!";
                                         }
                                     }
                                

Yukarıdaki örneğimizi kısaca açıklayacak olursak photoName ve photoExtension adında 2 adet string değişken tanımlıyoruz. Değişkenlerimizi tanımladıktan sonra IF karar yapısıyla FileUpload nesnemizin içini kontrol ettiriyoruz. FileUpload nesnemizin içi doluysa IF'in içindeki şartımız çalışıyor ve sırayla işlemlerimizi gerçekleştiriyoruz.

Öncelikle FileUpload içindeki resmimizin uzantısını Path.GetExtension(FlUpload.PostedFile.FileName) nesnesiyle alıyoruz ve photoExtension değişkenimizin içine atıyoruz. Daha sonra tekrar IF karar yapısıyla değişken içindeki uzantıyla resim kontrolünü yaptırıyoruz. Resim uzantımızı doğruladıktan sonra yüklediğimiz resime yeni bir ad vermek için photoName değişkenimize GUID kullanarak benzersiz bir resim adı oluşturup ve resim adını değişkenimize atıyoruz. Bütün işlemler bittikten sonra sistemimizde bulunan klasöre resmi kayıt ediyoruz. IF şartımız doğrulanmazsa şartımız ELSE'ye düşerek ekrana uyarı mesajımızı yazdırıyoruz.

Yukarıda GUID örneğini anlatayım derken FileUpload nesnesinide anlattım kısaca bir sonraki makalemde sizlere FileUpload nesnesini daha detaylı şekilde anlatacağım herkeze iyi çalışmalar dilerim.

Yorumlar

Adı Soyadı

E-Posta

Yorum