Log4Net ile Hata Ayıklama

   Yazılım geliştiricilerin en büyük derdidir sahaya gönderilen uygulamada oluşan hataları çözmek, özellikle de son kullanıcıdan aldığı “hata oldu“, “uygulama dondu“, “program kendini kapattı” gibi ucu açık geri bildirimleri düşünecek olursak. Kimi zaman uygulamada oluşan öyle hatalar olabilir ki bunları yazılım geliştirici kendi bilgisayarında dahi debug ederken çözmekte/görmekte zorlanabilir. Bir de hiç bir arayüzü olmayan…

Bilgisayarınızı C# ile uzaktan başlatın, Wake-On-Lan

   Geçtiğimiz günlerde kullandığım netbook’un daha fazla yapmak istediğim işleri desteklemeyeceğine karar vererek güçlü bir masaüstü bilgisayar almaya karar verdim. Güzel bir yapılandırma ile Windows Server 2008 R2 Core ve üzerine de Hyper-V kurduktan sonra sanal makinelerimi ayarlayarak uzak masaüstü bağlantısı ile çalışmaya başladım. Sonrasında bir adım daha ileri giderek modem üzerinden gerekli yönlendirmeleri de…

WCF İstemcinizin Bağlantı Değerlerini Değiştirerek Performansını Arttırın

   C# ile bir WCF istemcisi oluşturarak bir web hizmetine ardıl olarak veri gönderiyorsanız ya da WebRequest sınıfı yardımıyla bir url’den yine ardıl olarak veri transfer ediyorsanız makalemi okumanızı tavsiye ederim.    Yoğun olarak bir web hizmetinden veri alıyor/gönderiyorsanız mutlaka başınıza gelmiştir; kimi zaman ardıl olarak yaptığınız istekler, karşı sistem hizmetlerinde hiç bir sıkıntı olmamasına…

Programsal Olarak WCF Hizmeti Oluşturma

  Bir önceki makalemle birlikte Windows Communication Foundation’ın (WCF) detaylarını sizlerle paylaşacağım seriye başlamış ve giriş düzeyindeki bilgiler ile basit bir hizmet oluşturarak uygulamamız üzerinden bu hizmeti istemcilerimize sunmuştuk. Üstelik hizmetimiz oluştururken de minimum düzeyde kod yazmış ve yapılandırma işlerimizi tamamen app.config dosyası üzerinden gerçekleştirmiştik. Pek çok WCF senaryosunda bu şekilde statik olarak yapılandırılmış hizmetler…

WCF’e Giriş

.Net framework 3.0 ile hayatımızın bir parçası olan Windows Communication Foundation (WCF) hakkında yazmayı düşündüğün makalelerden bu ilkinde öncelikle birlikte WCF hizmetlerine ısınmamızı hedefliyorum, hedefim sizleri fazla da yormadan kolayca nasıl bir WCF hizmeti oluşturabileceğinizi paylaşmak. En temel anlatımıyla Windows Communication Foundation, .Net framework 3.0’ın çıkartılmasıyla birlikte hayatımıza giren ve .Net framework ile yazdığınız uygulamaların…

Visual Studio Async CTP “Belgelerim” Hatası

   Eğer Belgelerim klasörünüzün konumu Windows kurulumu ile birlikte gelen varsayılan yerinden farklı bir konum ise geçtiğimiz haftalarda yayınlanan Visual Studio Async CTP’yi indirip kurduğunuzda ufak bir hata ile karşılaşacaksınız.    Kurulum sırasında, başlat menüsü altına atılan örnekler ve dokümanlara ait kısayollar “%userprofile%\My Documents\Microsoft Visual Studio Async CTP\..” klasörü altını göstermekte, ki bu da  “C:\Users\<username>\My…

C# 5, Async ile Kolaylaşan Asenkron İşlemleri

   PDC 2010 ardından yazdığım ve C#’ın bir sonraki sürümünde bizleri bekleyen yeni özellikleri sizlerle paylaştığım yazımda Visual Studio Async CTP bahsetmiştim. Visual Studio 2010 üzerine kurulan CTP paketi arka planda derleyiciyi de güncelleyerek yeni tanıştığımız asenkron anahtar kelimelerinin desteklenmesini sağlıyor. İsterseniz Visual Studio Async CTP ve devamında da .Net framework’ün yeni sürümünde  (5.0 ?)…

C#, Yeni Sürümde Ne Yenilikler Var?

   13 şubat 2002 tarihinde 1.0 sürümü ile yazılım dünyasına katılan C#, bu tarihten sonraki her yeni sürümünde yazılım dünyasının en son trendlerini gerçekleştiren bir dil olma özelliğini sürdürmüştür.    C# geliştiricileri her bir sürümde özellikle bir konuya odaklanarak adım adım ilerlemeyi tercih etmişlerdir. 1.0 sürümü ile kontrollü bir dil olarak ortaya çıkan C#, takip…

İleri Düzey Serileştirme – 2

   Bir önceki makalemde .Net framework serileştirme işlemlerini detaylı olarak incelemiş ve ileri düzey kullanımları örneklemeye çalışmıştım. Bir örnek üzerinden 3.parti assembly’ler içerisinde bulunan ve serileştirilebilir olarak işaretlenmemiş sınıfların ileri düzey yöntemlerle nasıl serileştirilebileceğini paylaşmıştım. Bu makalemde aynı örnekler üzerinden giderek vekil seçim zinciri ve nasıl genel-geçer bir vekil seçici yapabileceğinizi paylaşacağım.    Serileştirme sırasında,…

İleri Düzey Serileştirme – 1

   Nesnelerin serileştirilerek saklanması konusunda C# işlerimizi oldukça kolaylaştırmakta. Çoğu zaman sınıfımızın üzerine yerleştireceğimiz bir SerializableAttribute ile nesnelerimizi serileştirilebilir hale getirebiliyor, ardından da BinaryFormatter sınıfı yardımıyla bu nesneleri bir stream’e yazabiliyor ve yine stream’den okuyabiliyoruz.    Serializable ve NonSeriazable attribute’leri ve BinaryFormatter sınıfını kullanmak çoğu senaryo da bizleri hızlıca sonuca ulaştırsa da malesef ki sınıf…