Anahtar fark: ASP, Active Server Pages anlamına gelir. Genel olarak Klasik ASP veya ASP Klasik olarak bilinir. Microsoft tarafından geliştirilen ve yayımlanan bir sunucu tarafı komut dosyası ortamıdır. ASP.NET, bir sunucu tarafı Web uygulaması çerçevesidir. ASPX, Active Server Pages Extended'ın kısaltmasıdır. Dinamik Web sayfaları üretmek için Web geliştirme için tasarlanmıştır. Her ikisi de bir oturumun içeriğini destekler. Bir oturum nesnesi bir kullanıcı oturumu hakkındaki bilgileri saklar veya ayarları değiştirir. Temel olarak, kullanıcının sayfada gördüğü ve yaptığı her şeyi, özellikle de kullanıcının sayfaya ekleyebileceği değişiklikleri not eder.
ASP, ağırlıklı olarak dinamik, etkileşimli Web sunucusu uygulamaları oluşturmak ve çalıştırmak için kullanılır. Ayrıca, etkileşimli Web sayfaları ve güçlü Web tabanlı uygulamalar oluşturmak için HTML sayfaları, komut dosyası komutları ve COM bileşenlerini birleştirme olanağı sağlar. Ayrıca söz konusu Web uygulamalarının geliştirilmesini ve değiştirilmesini kolaylaştırır.
Orijinal sürümünden sonra iki sürüm yayımlandı. ASP 2.0, orijinaline Uygulama, ASPError, İstek, Yanıt, Sunucu ve Oturum olan altı yerleşik nesne getirmiştir. ASP 3.0, Server.Transfer yöntemi, Server.Execute yöntemi ve gelişmiş bir ASPError nesnesi gibi bazı ek geliştirmeler yaptı. Ek olarak, ASP 3.0 varsayılan olarak arabelleklemeyi de etkinleştirdi ve motoru daha iyi performans için optimize etti. Ancak, Mayıs 2013 itibariyle ASP’de planlanmış bir yükseltme bulunmamaktadır.
ASP.NET, Ortak Dil Çalışma Zamanı (CLR) üzerine kuruludur. Bu, programcıların desteklenen herhangi bir .NET dilini kullanarak ASP.NET kodu yazmasını sağlar. ASP.NET Web sayfaları ayrıca Web Formları olarak da bilinir. Statik (X) HTML işaretlemesi içerirler. Ayrıca sunucu tarafı Web Kontrolleri ve Kullanıcı Kontrollerini tanımlayan bir işaretleme içerir. Geliştiricilerin Web sayfasının tüm rc içeriğini yerleştirdiği yer burasıdır.
ASP.NET Framework 2.0'da yeni bir kod arkası model tanıtıldı. Bu, statik metnin .aspx sayfasında kalmasına izin verirken, dinamik kod bir .aspx.vb veya .aspx.cs veya .aspx.fs dosyasında kalır. Dinamik kodun yeri kullanılan programlama diline bağlıdır.
Her ikisi de bir oturumun içeriğini destekler. Bir oturum nesnesi bir kullanıcı oturumu hakkındaki bilgileri saklar veya ayarları değiştirir. Temel olarak, kullanıcının sayfada gördüğü ve yaptığı her şeyi, özellikle de kullanıcının sayfaya ekleyebileceği değişiklikleri not eder. Bunun, kullanıcının yapmaya çalıştığı değişiklikler arasında sistemin çökmesi durumunda, sistem düştüğünde değişiklikler kaybedilmeyeceği gibi bir avantajı vardır. Oturum, kullanıcının kaldığı yerin hafızasını tutar.
Oturum aslında bir web sayfası çerezidir. Kullanıcı web sayfasında gezinirken bir kullanıcının değerlerini saklar ve alır. Bir Session nesnesinde depolanan değişkenler, tek bir kullanıcı hakkında bilgi tutar ve bir uygulamadaki tüm sayfalarda bulunur. Oturum değişkenlerinde saklanan bazı Genel bilgiler ad, kimlik ve tercihlerdir. Sunucu her yeni kullanıcı için yeni bir Oturum nesnesi oluşturur ve oturum sona erdiğinde Oturum nesnesini imha eder.
ASP Oturumu ve ASP.NET Oturumu arasındaki bazı farklılıklar:
- ASP'de, oturum Proses bağımlıdır, ASP.NET'te ise oturum Prosesten bağımsızdır.
- ASP'de, oturum Çerez'e bağlıdır, ASP.NET'te ise oturum Çerezten bağımsızdır.
- ASP oturum durumu, Web Farms ile çalışmak için doğal bir çözüme sahip değildir. ASP.NET oturumu durum sunucusunda ve birden çok sunucuyu destekleyebilen SQL SERVER'de saklanabilir.
- ASP oturumu yalnızca tarayıcı çerezleri desteklediğinde çalışır, ASP.NET oturumu bağımsız çalışır.
- ASP oturum durumu, IIS işlemine çok bağlıdır. IIS yeniden başlatılırsa ASP oturum değişkenleri de geri dönüştürülür. Oysa ASP.NET oturumu barındırma ortamından bağımsız olabilir, bu nedenle IIS yeniden başlatılsa bile ASP.NET oturumu korunabilir.
- ASP oturumu, sunucu grubu sınırlamalarıyla karşı karşıya. Kullanıcılar bir Web sunucusu grubundaki sunucudan sunucuya geçtiklerinde, oturum durumları bunları izlemez. ASP.NET oturum durumu, sunucu grubu yapılandırmalarını desteklemektedir. İşlem dışı bir modele geçiyor, bu nedenle sunucu çiftliği sorunuyla karşılaşmıyor.