Aracılığıyla paylaş


Web Forms nedir?

ASP.NET Web Forms, ASP.NET web uygulaması çerçevesinin bir parçasıdır ve Visual Studio'ya dahil edilir. ASP.NET web uygulamaları oluşturmak için kullanabileceğiniz dört programlama modelinden biridir; diğerleri MVC, ASP.NET Web Sayfaları ve ASP.NET Tek Sayfalı Uygulamalar ASP.NET.

Web Forms, kullanıcılarınızın tarayıcılarını kullanarak istediği sayfalardır. Bu sayfalar HTML, istemci betiği, sunucu denetimleri ve sunucu kodu birleşimi kullanılarak yazılabilir. Kullanıcılar bir sayfa istediğinde, çerçeve tarafından derlenir ve sunucuda yürütülür ve ardından çerçeve, tarayıcının işleyebileceği HTML işaretlemesini oluşturur. ASP.NET Web Forms sayfası, kullanıcıya herhangi bir tarayıcı veya istemci cihazında bilgi sunar.

Visual Studio'yu kullanarak ASP.NET Web Forms oluşturabilirsiniz. Visual Studio Tümleşik Geliştirme Ortamı (IDE), Web Forms sayfanızı ayarlamak için sunucu denetimlerini sürükleyip bırakmanıza olanak tanır. Daha sonra sayfadaki denetimler veya sayfanın kendisi için özellikleri, yöntemleri ve olayları kolayca ayarlayabilirsiniz. Bu özellikler, yöntemler ve olaylar web sayfasının davranışını, genel görünümünü vb. tanımlamak için kullanılır. Sayfanın mantığını işlemek üzere sunucu kodu yazmak için Visual Basic veya C# gibi bir .NET dili kullanabilirsiniz.

Not

ASP.NET ve Visual Studio belgeleri çeşitli sürümlere yayılır. Önceki sürümlerdeki özellikleri vurgulayan konular, en son sürümleri kullanan geçerli görevleriniz ve senaryolarınız için yararlı olabilir.

ASP.NET Web Forms şunlardır:

  • Sunucuda çalışan kodun tarayıcıya veya istemci cihazına dinamik olarak Web sayfası çıkışı oluşturduğu Microsoft ASP.NET teknolojisini temel alır.
  • Herhangi bir tarayıcı veya mobil cihazla uyumludur. ASP.NET Web sayfası stiller, düzen vb. özellikler için doğru tarayıcı uyumlu HTML'yi otomatik olarak işler.
  • .NET ortak dil çalışma zamanı tarafından desteklenen Microsoft Visual Basic ve Microsoft Visual C# gibi tüm dillerle uyumludur.
  • Microsoft .NET Framework üzerine kurulmuştur. Bu, yönetilen ortam, tür güvenliği ve devralma dahil olmak üzere çerçevenin tüm avantajlarını sağlar.
  • Esnektir çünkü bunlara kullanıcı tarafından oluşturulan ve üçüncü taraf denetimler ekleyebilirsiniz.

ASP.NET Web Forms teklifi:

  • HTML ve diğer kullanıcı arabirimi kodunun uygulama mantığından ayrılması.
  • Veri erişimi de dahil olmak üzere yaygın görevler için zengin bir sunucu denetimleri paketi.
  • Harika araç desteğiyle güçlü veri bağlama.
  • Tarayıcıda yürütülen istemci tarafı betik oluşturma desteği.
  • Yönlendirme, güvenlik, performans, uluslararasılaştırma, test, hata ayıklama, hata işleme ve durum yönetimi gibi çeşitli diğer özellikler için destek.

ASP.NET Web Forms Zorlukları Aşmanıza Yardımcı Olur

Web uygulaması programlama, geleneksel istemci tabanlı uygulamaları programlama sırasında genellikle ortaya çıkan zorluklara neden olur. Zorluklar arasında şunlar bulunur:

  • Zengin bir Web kullanıcı arabirimi uygulama - Özellikle sayfanın karmaşık bir düzeni, büyük miktarda dinamik içeriği ve tam özellikli kullanıcı etkileşimli nesneleri varsa, temel HTML olanaklarını kullanarak bir kullanıcı arabirimi tasarlamak ve uygulamak zor ve yorucu olabilir.
  • İstemci ve sunucu ayrımı - Bir Web uygulamasında, istemci (tarayıcı) ve sunucu genellikle farklı bilgisayarlarda (ve hatta farklı işletim sistemlerinde) çalışan farklı programlardır. Sonuç olarak, uygulamanın iki yarısı çok az bilgi paylaşır; iletişim kurabilirler, ancak genellikle yalnızca küçük basit bilgi öbeklerini değiştirirler.
  • Durum bilgisi olmayan yürütme - Web sunucusu bir sayfa için istek aldığında, sayfayı bulur, işler, tarayıcıya gönderir ve sonra tüm sayfa bilgilerini atar. Kullanıcı aynı sayfayı yeniden isterse, sunucu tüm sırayı tekrarlar ve sayfayı sıfırdan yeniden işler. Başka bir deyişle, bir sunucunun işlediği sayfaların belleği yoktur; sayfa durum bilgisi yoktur. Bu nedenle, bir uygulamanın bir sayfa hakkındaki bilgileri koruması gerekiyorsa, durum bilgisi olmayan yapısı sorun haline gelebilir.
  • Bilinmeyen istemci özellikleri - Çoğu durumda, Web uygulamalarına farklı tarayıcılar kullanan birçok kullanıcı erişebilir. Tarayıcılar farklı özelliklere sahip olduğundan, hepsinde eşit derecede iyi çalışacak bir uygulama oluşturmayı zorlaştırır.
  • Veri erişimiyle ilgili zorluklar - Geleneksel Web uygulamalarında veri kaynağından okuma ve veri kaynağına yazma karmaşık ve yoğun kaynak kullanımlı olabilir.
  • Ölçeklenebilirlik ile ilgili komplikasyonlar - Mevcut yöntemlerle tasarlanan Web uygulamalarının çoğu durumda, uygulamanın çeşitli bileşenleri arasındaki uyumluluk eksikliği nedeniyle ölçeklenebilirlik hedeflerini karşılayamamaları. Bu genellikle ağır bir büyüme döngüsü altındaki uygulamalar için yaygın bir hata noktasıdır.

Web uygulamaları için bu zorlukların karşılanması önemli zaman ve çaba gerektirebilir. ASP.NET Web Forms ve ASP.NET çerçevesi bu zorlukları aşağıdaki yollarla ele alın:

  • Sezgisel, tutarlı nesne modeli - ASP.NET sayfa çerçevesi, formlarınızı ayrı istemci ve sunucu parçaları olarak değil bir birim olarak düşünmenizi sağlayan bir nesne modeli sunar. Bu modelde, sayfa öğelerinin özelliklerini ayarlama ve olaylara yanıt verme gibi geleneksel Web uygulamalarından daha sezgisel bir şekilde sayfayı programlayabilirsiniz. Buna ek olarak, ASP.NET sunucu denetimleri bir HTML sayfasının fiziksel içeriklerinden ve tarayıcı ile sunucu arasındaki doğrudan etkileşimden soyutlamadır. Genel olarak, sunucu denetimlerini bir istemci uygulamasındaki denetimlerle çalışma şeklinizde kullanabilirsiniz ve denetimleri ve içeriklerini sunmak ve işlemek için HTML'nin nasıl oluşturulacağını düşünmek zorunda değildir.
  • Olay temelli programlama modeli - ASP.NET Web Forms web uygulamalarına istemcide veya sunucuda gerçekleşen olaylar için olay işleyicileri yazmanın tanıdık modelini getirir. ASP.NET sayfa çerçevesi bu modeli, istemcide bir olayı yakalama, sunucuya iletme ve uygun yöntemi çağırma mekanizmasının tamamı sizin için otomatik ve görünmez olacak şekilde soyutlar. Sonuç, olay odaklı geliştirmeyi destekleyen net, kolay yazılmış bir kod yapısıdır.
  • Sezgisel durum yönetimi - ASP.NET sayfa çerçevesi, sayfanızın durumunu ve denetimlerini koruma görevini otomatik olarak işler ve uygulamaya özgü bilgilerin durumunu korumak için size açık yollar sağlar. Bu, sunucu kaynaklarının yoğun kullanımı olmadan gerçekleştirilir ve tarayıcıya tanımlama bilgileri göndererek veya göndermeden uygulanabilir.
  • Tarayıcıdan bağımsız uygulamalar - ASP.NET sayfa çerçevesi, sunucuda tüm uygulama mantığını oluşturmanıza olanak sağlayarak tarayıcılardaki farklılıklar için açıkça kod oluşturma gereksinimini ortadan kaldırır. Ancak, daha iyi performans ve daha zengin bir istemci deneyimi sağlamak için istemci tarafı kodu yazarak tarayıcıya özgü özelliklerden yararlanmanızı sağlar.
  • .NET Framework ortak dil çalışma zamanı desteği - ASP.NET sayfa çerçevesi .NET Framework üzerinde derlendiğinden, çerçevenin tamamı tüm ASP.NET uygulama tarafından kullanılabilir. Uygulamalarınız çalışma zamanıyla uyumlu herhangi bir dilde yazılabilir. Ayrıca, ADO.NET dahil olmak üzere .NET Framework tarafından sağlanan veri erişim altyapısı kullanılarak veri erişimi basitleştirilmiştir.
  • ölçeklenebilir sunucu performansını .NET Framework - ASP.NET sayfa çerçevesi, Web uygulamanızı tek işlemcili bir bilgisayardan çok bilgisayarlı bir Web grubuna sorunsuz ve uygulamanın mantığında karmaşık değişiklikler yapmadan ölçeklendirmenizi sağlar.

ASP.NET Web Forms özellikleri

  • Sunucu Denetimleri- ASP.NET Web sunucusu denetimleri, sayfa istendiğinde çalışan ve tarayıcıya işaretleme oluşturan ASP.NET Web sayfalarında bulunan nesnelerdir. Birçok Web sunucusu denetimi, düğmeler ve metin kutuları gibi tanıdık HTML öğelerine benzer. Diğer denetimler, takvim denetimleri ve veri kaynaklarına bağlanmak ve verileri görüntülemek için kullanabileceğiniz denetimler gibi karmaşık davranışları kapsar.
  • Ana Sayfalar- ana sayfalar ASP.NET, uygulamanızdaki sayfalar için tutarlı bir düzen oluşturmanıza olanak sağlar. Tek bir ana sayfa, uygulamanızdaki tüm sayfalar (veya bir sayfa grubu) için istediğiniz genel görünümü ve standart davranışı tanımlar. Ardından, görüntülemek istediğiniz içeriği içeren tek tek içerik sayfaları oluşturabilirsiniz. Kullanıcılar içerik sayfalarını istediğinde, ana sayfanın düzenini içerik sayfasındaki içerikle birleştiren bir çıktı oluşturmak için ana sayfayla birleştirilir.
  • Data- ASP.NET ile çalışma, verileri depolamak, almak ve görüntülemek için birçok seçenek sağlar. ASP.NET Web Forms bir uygulamada, tablolar, metin kutuları ve açılan listeler gibi web sayfası kullanıcı arabirimi öğelerindeki verilerin sunumunu veya girişini otomatikleştirmek için veriye bağlı denetimleri kullanırsınız.
  • Üyelik- ASP.NET Kimliği, kullanıcılarınızın kimlik bilgilerini uygulama tarafından oluşturulan bir veritabanında depolar. Kullanıcılarınız oturum açtığında, uygulama veritabanını okuyarak kimlik bilgilerini doğrular. Projenizin Account klasörü üyeliğin çeşitli bölümlerini uygulayan dosyaları içerir: kaydolma, oturum açma, parola değiştirme ve erişimi yetkilendirme. Ayrıca, ASP.NET Web Forms OAuth ve OpenID'yi destekler. Bu kimlik doğrulama geliştirmeleri kullanıcıların Facebook, Twitter, Windows Live ve Google gibi hesaplardan mevcut kimlik bilgilerini kullanarak sitenizde oturum açmasına olanak tanır. Varsayılan olarak, şablon Web için Visual Studio Express 2013 ile birlikte gelen geliştirme veritabanı sunucusu SQL Server Express LocalDB örneğinde varsayılan veritabanı adını kullanarak bir üyelik veritabanı oluşturur.
  • İstemci Betiği ve İstemci Çerçeveleri- ASP.NET Web Formu sayfalarına istemci betiği işlevselliğini ekleyerek ASP.NET sunucu tabanlı özelliklerini geliştirebilirsiniz. kullanıcılara daha zengin ve daha duyarlı bir kullanıcı arabirimi sağlamak için istemci betiğini kullanabilirsiniz. Tarayıcıda bir sayfa çalışırken Web sunucusuna zaman uyumsuz çağrılar yapmak için de istemci betiğini kullanabilirsiniz.
  • Yönlendirme- URL yönlendirme, bir uygulamayı fiziksel dosyalara eşlenmeyen istek URL'lerini kabul etmek üzere yapılandırmanıza olanak tanır. İstek URL'si, kullanıcının web sitenizde bir sayfayı bulmak için tarayıcılarına girdiği URL'dir. Yönlendirmeyi, kullanıcılar için anlamsal olarak anlamlı olan ve arama motoru iyileştirmesine (SEO) yardımcı olabilecek URL'leri tanımlamak için kullanırsınız.
  • Durum Yönetimi- ASP.NET Web Forms, verileri hem sayfa başına hem de uygulama genelinde korumanıza yardımcı olan çeşitli seçenekler içerir.
  • Güvenlik: Daha güvenli bir uygulama geliştirmenin önemli bir parçası, uygulamaya yönelik tehditleri anlamaktır. Microsoft tehditleri kategorilere ayırmak için bir yol geliştirmiştir: Kimlik Sahtekarlığı, Kurcalama, İnkar, Bilgilerin açığa çıkması, Hizmet reddi, Ayrıcalıkların yükseltilmesi (STRIDE). ASP.NET Web Forms'da, ASP.NET Web Forms çeşitli güvenlik davranışlarını özelleştirmenizi sağlayan genişletilebilirlik noktaları ve yapılandırma seçenekleri ekleyebilirsiniz.
  • Performans- Başarılı bir Web sitesinde veya projede performans önemli bir faktör olabilir. ASP.NET Web Forms sayfa ve sunucu denetimi işleme, durum yönetimi, veri erişimi, uygulama yapılandırma ve yükleme ile verimli kodlama uygulamalarıyla ilgili performansı değiştirmenize olanak tanır.
  • Uluslararasılaştırma- ASP.NET Web Forms, tarayıcı için tercih edilen dil ayarına veya kullanıcının açık dil seçimine bağlı olarak içerik ve diğer verileri alabilen web sayfaları oluşturmanıza olanak tanır. İçerik ve diğer veriler kaynak olarak adlandırılır ve bu tür veriler kaynak dosyalarında veya diğer kaynaklarda depolanabilir. ASP.NET Web Forms sayfasında, denetimleri kaynaklardan özellik değerlerini alacak şekilde yapılandırabilirsiniz. Çalışma zamanında, kaynak ifadeleri uygun yerelleştirilmiş kaynak dosyasındaki kaynaklarla değiştirilir.
  • Hata Ayıklama ve Hata İşleme- ASP.NET, Web Forms uygulamanızda ortaya çıkabilecek sorunları tanılamanıza yardımcı olacak özellikler içerir. Hata ayıklama ve hata işleme, ASP.NET Web Forms içinde iyi desteklendiğinden, uygulamalarınız etkili bir şekilde derlenir ve çalışır.
  • Dağıtım ve Barındırma- Visual Studio, ASP.NET, Azure ve IIS, Web Forms uygulamanızı dağıtma ve barındırma işleminde size yardımcı olan araçlar sağlar.

Web Forms Uygulamasının Ne Zaman Oluşturulacağını Belirleme

ASP.NET Web Forms modeli veya ASP.NET MVC çerçevesi gibi başka bir modeli kullanarak bir Web uygulamasının uygulanıp uygulanmayacağını dikkatle düşünmeniz gerekir. MVC çerçevesi Web Forms modelinin yerini almaz; Web uygulamaları için iki çerçeveyi de kullanabilirsiniz. Belirli bir Web sitesi için Web Forms modelini veya MVC çerçevesini kullanmaya karar vermeden önce, her yaklaşımın avantajlarını değerlendirin.

Web Forms-Based Web Uygulamasının Avantajları

Web Forms tabanlı çerçeve aşağıdaki avantajları sunar:

  • HTTP üzerinden durumu koruyan ve iş kolu Web uygulaması geliştirme avantajı sunan bir olay modelini destekler. Web Forms tabanlı uygulama, yüzlerce sunucu denetiminde desteklenen onlarca olay sağlar.
  • Tek tek sayfalara işlevsellik ekleyen bir Sayfa Denetleyicisi düzeni kullanır. Daha fazla bilgi için bkz. Sayfa Denetleyicisi.
  • Durum bilgilerini yönetmeyi kolaylaştırabilecek görünüm durumu veya sunucu tabanlı formlar kullanır.
  • Hızlı uygulama geliştirme için kullanılabilecek çok sayıda bileşenden yararlanmak isteyen küçük Web geliştiricileri ve tasarımcı ekipleri için iyi çalışır.
  • Genel olarak, bileşenler ( Page sınıfı, denetimler vb.) sıkı bir şekilde tümleştirildiğinden ve genellikle MVC modeline göre daha az kod gerektirdiğinden, uygulama geliştirme için daha az karmaşıktır.

MVC-Based Web Uygulamasının Avantajları

ASP.NET MVC çerçevesi aşağıdaki avantajları sunar:

  • Bir uygulamayı modele, görünüme ve denetleyiciye bölerek karmaşıklığı yönetmeyi kolaylaştırır.
  • Görünüm durumunu veya sunucu tabanlı formları kullanmaz. Bu, MVC çerçevesini bir uygulamanın davranışı üzerinde tam denetim sahibi olmak isteyen geliştiriciler için ideal hale getirir.
  • Tek bir denetleyici aracılığıyla Web uygulaması isteklerini işleyen bir Ön Denetleyici deseni kullanır. Bu, zengin yönlendirme altyapısını destekleyen bir uygulama tasarlamanızı sağlar. Daha fazla bilgi için bkz. Ön Denetleyici.
  • Test temelli geliştirme (TDD) için daha iyi destek sağlar.
  • Uygulama davranışı üzerinde yüksek düzeyde denetime ihtiyaç duyan büyük geliştirici ve Web tasarımcısı ekipleri tarafından desteklenen Web uygulamaları için iyi çalışır.