ASP.NET ile uygulama geliştirmeye geçmeden önce bazı temel kavramlarla tanışmalıyız. Öncelikle web ortamında olayların nasıl yürüdüğünü, ASP .NET’in buradaki konumunu, çalışma mantığını, yeniliklerini, ASP ile olan benzerliklerini ve farklılıklarını anlatmakta fayda var.
İNTERNET İŞLEYİŞ MODELLERİ
Bir Web sayfası, içinde sadece HTML kodlarını barındıran bir yapıya sahiptir. Bu web sayfası internette herhangi bir sunucu bilgisayarda muhafaza edilir ve talep geldiğinde bir kopyası istemciye gönderilir.
İstemcideki bilgisayar gelen HTML bilgisini gösterir. Bu çalışma biçimi en basit şeykliyle bir web sayfasının browserda görüntülenmesidir.
Bu işleyişi daha ileri, daha işlevsel ve aktif web sayfaları tasarlamak istediğimizde her iki tarafta da yapılabilecek şeyler vardır.
İnternet sunucu-istemci modeline göre çalışır. Fiziksel olarak , isteği yapan bir bilgisayar (istemci) ve bu isteğe cevap veren özel bir bilgisayardır(sunucu).
Bir web sayfasında adresi yazıp Enter’a basmak bir istektir. Bu isteğimizi bir yerlerdeki bir sunucu karşılar. Bu modelin diğer bir adı : istek-cevaptır(request-response).
İnternetteki bütün web sitelerinin çalışma mantığı bu modele dayanır. Bir istek olmadan, sunum, yani yayıncılık yapılmaz (bir radyo gibi değildir).
İSTEMCİ TARAFLI KODLAMA
İstemci taraflı web yazılımlarında JavaScript, VBScript gibi script dilleri kullanılır ve kullanıcının internet tarayıcısında internet sayfası yüklendikten sonra çalışmaya başlar.
Script kodları istemci taraflı çalıştığından Web sayfasını yormaz çünkü kodlar server üzerinde değil kullanıcının bilgisayarında işletilir.
SUNUCU TARAFLI KODLAMA
Web sayfalarının sunucu üzerinde çalıştığı sistemlerdir. Net sayfaları web sunucuda çalıştırıldıktan, işlendikten sonra, HTML biçiminde istemciye gönderilir. Böylece sunucu pasif durumdan aktif duruma geçmiştir. Kullanıcıdan gelen bilgilerin sunucuda işlenmesi imkanı web sitesi sahibinin işlerini kolaylaştırmakta, site üzerindeki denetimini artırmaktadır.
BAĞLANTISIZLIK VE OLAY YÖNLENDİRMELİ KODLAMA
Bu kavram nesneye yönelik programlarda kullanılır. Kullanıcının her hareketi bir “olay” olarak değerlendirilir. Mesela, kullanıcının klavyeden bir tuşa basması, bir düğmeye basması, bir seçeneği tıklaması, bir onay kutusunu işaretlemesi, farenin hareket etmesi, bir olaydır. Programcı bir olay gerçekleştiğinde yapılmasını istediği işleri kodlayarak programına ekler. Böylelikle program kullanıcının hareketini ifade eden olayın gerçekleşmesi sonucunda kullanıcının isteğini yerine getirir.
ASP.NET sayfaları içerisine hem sunucu hem de istemci tarafta çalışan kodlar eklenir. İstemci tarafındaki kodlar olay yönlendirme mantığıyla istemci bilgisayarda gerçekleşen işlemleri takip eder ve bu işlemleri sunucuya bildirir. Bu şekilde sunucu, istemcideki her hareketi izler. İnternet uygulamaları geliştirenler de istek/cevap modelinin sıkıntılarını hissetmeden, uygulamalarını geliştirebilmektedirler.
Sonuç olarak nesneye yönelik programlama tekniğini kullanan ASP.NET, olay yönlendirme kavramıyla istemcideki değişiklikleri takip edebilmektedir. Ayrıca olay yönlendirmeli programlama sayesinde sayfadaki bir değişiklikte tüm sayfa üzerinde işlem yapmak yerine hangi olay gerçekleşmişse sadece o olaylar ilgili işlem yapılmaktadır. Bu durum aynı anda yüzlerce siteyi barındıran sunucuları, tüm sayfayı tekrar tekrar çalıştırma işleminden kurtarmaktadır.
COMMON LANGUAGE RUNTIME(CLR) (ORTAK DİL ÇALIŞTIRMA ZAMANI)
CLR .NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile programımız arasında yer alan arabirimdir. Normalde yazılan kodlar makine diline çevrilir ve işletim sistemi ile direkt bağlantı kurup çalışırdı.
Eğer platformdan bağımsız bir ortam istiyorsak, ihtiyaç duyulan şey CLR dir, hangi platformda iseniz (Linux,Mac,Windows) CLR bu noktada devreye girer ve .NET programlarının farklı platformlarda işletim sistemine göre çalıştırır.
Eğer çok sayıda platform olduğunu düşünürsek, programların bunlar için ayrı ayrı yazılıp derlenmesi gerekir. Bu durum imkansız gibidir.
Bu durumda çözüm ortak bir ara dil kullanmak ve her bir platform için bu ara dile çevrilmiş kodu çalıştırmaktır.