Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 ASP.NET MVC, ASP.NET Web Sayfaları ve ASP.NET Tek Sayfalı Uygulamalardır.
Web Formları, 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 sunucuda derlenir ve 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ı oluşturmak 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.
Uyarı
ASP.NET ve Visual Studio belgeleri çeşitli sürümlere yayılmıştı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 teknolojisine dayalıdı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 üzerinde oluşturulmuş. 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 denetimleri 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 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 Formları Zorlukların Üstesinden Gelmenize Yardımcı Olur
Web uygulaması programlama, geleneksel istemci tabanlı uygulamaların programlanması sırasında tipik olarak ortaya çıkmayan zorluklar sunar. 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 özelliklerini kullanarak bir kullanıcı arabirimi tasarlamak ve uygulamak zor ve yorucu olabilir.
- İstemci ve sunucu ayrımı - 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 kurabilir, ancak genellikle basit bilgilerin yalnızca küçük öbeklerini değiştirebilirler.
- 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 sayfayı sıfırdan yeniden işleyerek tüm sırayı yineler. Başka bir deyişle, 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, hepsi üzerinde eşit derecede iyi çalışacak bir uygulama oluşturmayı zorlaştırır.
- Veri erişimiyle ilgili komplikasyonlar - Geleneksel Web uygulamalarında veri kaynağından okuma ve veri kaynağına yazma karmaşık ve yoğun kaynak kullanımına neden olabilir.
- Ölçeklenebilirlik ile ilgili komplikasyonlar - Çoğu durumda mevcut yöntemlerle tasarlanan Web uygulamaları, uygulamanın çeşitli bileşenleri arasındaki uyumluluk eksikliği nedeniyle ölçeklenebilirlik hedeflerini karşılayamama. 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 Formlar ve ASP.NET çerçevesi bu zorlukları aşağıdaki yollarla ele alır:
- Sezgisel, tutarlı nesne modeli - ASP.NET sayfa çerçevesi, formlarınızı ayrı istemci ve sunucu parçaları olarak değil birim olarak düşünmenizi sağlayan bir nesne modeli sunar. Bu modelde, sayfa öğelerinin özelliklerini ayarlama ve olaylara yanıt verme de dahil olmak üzere, sayfayı geleneksel Web uygulamalarından daha sezgisel bir şekilde 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 bir 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üşünmeniz gerekmez.
- Olay temelli programlama modeli - Web Forms ASP.NET, 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 istemcideki bir olayı yakalamanın, sunucuya iletmenin ve uygun yöntemi çağırmanın temel mekanizmasının sizin için otomatik ve görünmez olmasını sağlayarak 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 uygulamalar tarafından kullanılabilir. Uygulamalarınız çalışma zamanıyla uyumlu herhangi bir dilde yazılabilir. Buna ek olarak, ADO.NET dahil olmak üzere .NET Framework tarafından sağlanan veri erişim altyapısı kullanılarak veri erişimi basitleştirilmiştir.
- .NET Framework ölçeklenebilir sunucu performansı - ASP.NET sayfa çerçevesi, Web uygulamanızı tek işlemcili bir bilgisayardan çok bilgisayarlı bir Web grubuna temiz bir şekilde ve uygulamanın mantığında karmaşık değişiklikler yapmadan ölçeklendirmenizi sağlar.
ASP.NET Web Forms'un Özellikleri
- Sunucu Denetimleri- ASP.NET Web sunucusu denetimleri, sayfa istendiğinde çalışan ve tarayıcıya işaretlemeyi işleyen 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- ASP.NET ana sayfalar, 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, bu sayfalar ana sayfayla birleşerek ana sayfanın düzeniyle içerik sayfasının içeriğini birleştiren bir çıktı oluşturur.
- Data- ASP.NET ile çalışmak, verileri depolamak, almak ve görüntülemek için birçok seçenek sağlar. ASP.NET Bir Web Forms uygulamasında, 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 Hesap 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. İstemci betiğini kullanarak kullanıcılara daha zengin ve daha hızlı yanıt veren bir kullanıcı arabirimi sağlayabilirsiniz. Ayrıca, tarayıcıda bir sayfa çalışırken Web sunucusuna zaman uyumsuz çağrılar yapmak için istemci betiğini de 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 sayfa 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, hem sayfa başına hem de uygulama genelinde verileri korumanıza yardımcı olan çeşitli seçenekler içerir.
- Güvenlik- Daha güvenli bir uygulama geliştirmenin önemli bir parçası, bu 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'da ç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 projesinde 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ırması ve yükleme ve verimli kodlama uygulamalarıyla ilgili performansı değiştirmenize olanak tanır.
- Internationalization- 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 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'da iyi desteklenir, böylece 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ı olacak araçlar sağlar.
Web Forms Uygulamasının Ne Zaman Oluşturulacağını Belirleme
ASP.NET Web Forms modelini veya ASP.NET MVC çerçevesi gibi başka bir modeli kullanarak bir Web uygulamasının uygulanıp uygulanmayacağını dikkatle düşünmelisiniz. MVC çerçevesi Web Forms modelinin yerini almaz; Web uygulamaları için herhangi bir çerçeve 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 Formlarına Dayalı 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ştirmenin avantajlarından yararlanan 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ılabilen çok sayıda bileşenden yararlanmak isteyen web geliştiricileri ve tasarımcılarından oluşan küçük ekipler 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ıları ekipleri tarafından desteklenen Web uygulamaları için iyi çalışır.