void wClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
string alindiMesaji = null;
try
{
// olası hata kontrolleri
if (e.Cancelled)
throw new Exception("İndirme işlemi iptal edilmiş.");
if (e.Error != null)
throw new Exception($"İndirme işleminde hata oluştu : {e.Error.Message}");
string indirilen = e.Result;
if (string.IsNullOrWhiteSpace(indirilen))
throw new Exception($"{nameof(e.Result)} içinde hiç veri yok!");
// genelde string indirmelerde sayfanın HTML çıktısı gelir.
// kabaca sizin desen = Müsait değeriniz Html sayfasına eşit olamaz. zira Html sayfada bir sürü html tagları vardır.
// bu yüden talep edilen saydaki çıktının UTF-8 olduğuna ve desen'deki gibi Müsait yazan bir Response verdiğinden emin olun.
// aksi durumda hiç bir şekilde eşitlik olmaz.
// bu yüzden indirilen değerin olduğu yere breakpoint atayıp bakın
// veya
// şu şekilde program çalışınca VisualStudio Output ekranına bakın.
System.Diagnostics.Trace.WriteLine(indirilen);
// şimdi kaynak hazır
// response de sağda solda boşluk olabilir bu yüzden boşlukları Trim ile temizledik.
this.source = indirilen.Trim();
// tam eşitlik sözkonusu ise
// Regex alternatifi olarak Equals kullanabilirsiniz. Küçük karşılaştırmalarda daha iyi ve hızlıdır. Regex karmaşık desenler için idealdir.
// StringComparison seçeneklerini değiştirebilirsiniz.
if (this.source.Equals(this.desen, StringComparison.CurrentCultureIgnoreCase))
{
alindiMesaji = "Tebrikler! Daha önce alınmamış :)";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
lblSonuc.Text = alindiMesaji == null ? "Daha önce alınmış :(" : alindiMesaji;
}
}