‘.NET Framework 3.0’ Kategorisi için Arşiv

c# İle rastgele şifre oluşturma (Random password generator)

Aşağıdaki kod örneğini kullanarak belirlediğiniz harf veya rakam aralıklarında rastgele şifre oluşturabilirsiniz.

public string GenerateNewPassword(int size)
{
char[] cr = "0123456789abcdefghijklmnopqrstuvwxyz".ToCharArray();
string result = string.Empty;
Random r = new Random();
for (int i = 0; i < size; i++)
{
result += cr[r.Next(0, cr.Length-1)].ToString();
}
return result;
}

Beta 2008 Express Editions

Visual Studio Express Edition

Önceki yazılarımda da bahsetmiş olduğum Microsoft’un yazılım geliştiricileri için ücretsiz yazılım geliştirme platformları olan “Visual Studio Express Edition” ların 2008 BETA sürümleri yazılım geliştiriciler için dağıtılmaya başlandı.

Aşağıdaki adresten ihtiyacınız olan Express Edition’ı bilgisayarınıza kurarak yeni sürümler ile gelen yeni özelliklerden anında faydalanabilirsiniz.

http://msdn2.microsoft.com/en-us/express/future/bb421473.aspx

C# Sayı mı? Kontrolü (Function IsNumeric)

C# ile programlama yapıyorsanız kelime katarlarının (string) sayısal bir değer olup olmadığını kontrol etmek isteyebilirsiniz. Aşağıdaki örnekleri kullanarak, bir kelime katarının (string) veya bir karakterin (char) sayısal bir değer olup olmadığını öğrenebilirsiniz.

Örnek 1:

int i;
if (int.TryParse(“12″, out i))
{
//kelime katarı integer değer ve çıktı i değişkenine aktarıldı
}
else
{
//kelime katarı integer değer değil
}

Örnek 2:

public static bool IsNumeric(char c)
{
if (c > 57 || c < 48)
return false;
return true;
}

public static bool IsNumeric(string s)
{
char nns = System.Globalization.CultureInfo
.CurrentCulture.NumberFormat.NegativeSign[0];
char dcs = System.Globalization.CultureInfo
.CurrentCulture.NumberFormat.NumberDecimalSeparator[0];

int nnsi = s.IndexOf(nns);
if (nnsi > 0)
return false;
if(nnsi == 0)
s = s.Remove(nnsi, 1);
char[] c = s.ToCharArray();
if (c[0] == dcs || c[c.Length-1] == dcs)
return false;

int dcsc = 0;
for (int i = 0; i < c.Length; i++)
{
if (c[i] > 57 || c[i] < 48)
{
if (c[i] != dcs)
return false;
else
dcsc++;
}
if (dcsc > 1)
return false;
}
return true;
}

ASP.NET C# Veriyi Önbellekte Saklamak (Data Caching)

Web sayfalarında önbellekleme işlemi sayfalarımızın performansını arttırmak için oldukça önemlidir. Eğer web sayfalarınızı ASP .Net ile programladıysanız birkaç önbellekleme çeşidi kullanabilirsiniz. Bu yazımda web sayfamızdaki bir veri kaynağını nasıl önbelleğe yazdırabileceğimizden bahsetmek istiyorum.

Aşağıdaki kod’u projemize eklemeden önce veri kaynağı olarak “OrnekXml.xml” adında bir XML dosyası ve bir adet DataGrid ekleyelim.

OrnekXml.xml Dosyası

<?xml version="1.0" encoding="utf-8" ?>
<data>
<tablo>
<oge1>xxx1</oge1>
<oge2>xxx2</oge2>
</tablo>
</data>

Örnek xml dosyamızı oluşturduktan sonra aşağıdaki kodları projemize ekleyelim.

protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = new DataSet();
// DataSet i almak için önbeleğe gidiliyor
ds = (DataSet)Cache["OnbellekXmlVerisi"];
// DataSet önbellekte yok ise xml dosyası okunuyor.
if (ds == null)
{
ds = new DataSet();
ds.ReadXml(Server.MapPath("~/OrnekXml.xml"));
Cache.Insert("OnbellekXmlVerisi",
ds, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
}

this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
}

Yukarıdaki kod örneği “OrnekXml.xml” dosyasını 5 dakika boyunca önbellekte tutmanızı sağlayacaktır, her 5 dakika sonunda xml dosyası güncel haliyle yeniden okunup önbellekte saklanacaktır.