2. DERS İÇERİĞİDERS İÇERİĞİ
• ASP.NET Nedir?
• .NET Framework
• .NET Yazılımın Özellikleri ve
Avantajları
• Dezavantajları
• Web Sunucusu – IIS
• ASP.net Sayfa Yapısı ve
Elemanları
3. ASP.NET Nedir?ASP.NET Nedir?
• ASP.Net Server-Side(Sunucu taraflı) web uygulamaları
geliştirebileceğimiz. Net’in sağladığı özelliklerin çoğuna
erişebilen bir platformdur.
• Asp.NET, klasik ASP’ye göre daha hızlı, işlevsel ve
güvenilirdir. Asp.NET, web uygulamaları geliştirme
alanına getirdiği yeni yaklaşım, yöntemler ve
programlama tekniğiyle ASP’nin yeni bir versiyonu
olarak değil farklı bir teknoloji olarak el
4. .NET Framework.NET Framework
• .NET Framework, çok dağıtık bileşen yönelimli
uygulamaların geliştirilmesini ve yürütülmesini
destekleyen bir ortam tanımlamaktadır.
• .NET Framework, farklılık gösteren bilgisayar dillerinin
birlikte çalışmasını mümkün kılar ve Windows platformu
için güvenlik, taşınabilirlik (programlar açısından) ve
ortak bir programlama modeli sağlar.
5. .NET Framework.NET Framework
• .Net’in destek verdiği diller
Visual Basic .Net C# Microsoft Visual J#
.NET
Microsoft Jscript .Net Oberon Scheme
Perl Pyhton Cobol
Haskell Pascal ML
Mercury Eiffel Ada
SmallTalk Caml Microsoft Visual C++
6. Çoklu dil desteğinin avantajları
• Kod modülleri yeniden kullanılabilir. Bir kod modülü,
bir dil içinde yazılıp farklı diller içinde kullanılabilir.
• Tüm diller için object kütüphanesi aynıdır ve aynı object
modeli kullanılır.
• Eski dillerde yazılmış programlar güncellenebilir.
• .NET Framework içindeki tüm diller eşit performansa
sahiptir.
7. .NET Yazılımın Özellikleri ve
Avantajları
• ASP+, daha önce kullanılan Web geliştirme (ASP, JSP
gibi) modellerine göre aşağıda listelenen birçok önemli
avantajı sağlamaktadır.
1) Geliştirilmiş Performans:
ASP+ sayfaları, sunucu üzerinde çalıştırılan NGWS
çalıştırıcısı kodlarıdır. Yorumlama temeline göre çalışan
daha öncekilerle (ASP gibi) karşılaştırıldığında, erken,
tam zamanında derleme ve doğal iyileme ve
tamponlama hizmetleri gibi avantajlar sağlamaktadır.
Yukarıda anılan bu özellikler, geliştiriciler için daha kod
yazmaya başlamadan önce sağlanan çarpıcı performans
iyileştirmeleridir.
8. 2) Üstün Nitelikli Araç Desteği:
ASP+ çatısı, geliştirme ortamıyla bütünleştirilmiş olan
Visual Studio ile sunulan zengin bir araç takımı ve
tasarımcısı ile tamamlanmıştır.
WYSIWYG düzenleme, sürükle-bırak tarzı sunucu
denetimleri ve otomatik dağıtım bu güçlü araçların sağlamış
olduğu özelliklerin yalnızca birkaç tanesinden bazılarıdır.
3) Güç ve Esneklik:
ASP+, NGWS çalıştırıcısı üzerine temellendirildiğinden, bu
platformun tüm esneklik ve gücü Web uygulama geliştiricisi
tarafından kullanılabilir durumdadır. NGWS çalıştırıcısının
Temel Sınıf Kütüphaneleri, iletim ve veri çözümleri, benzeri
olmayan bir biçimde Web’ten erişilebilir durumdadır.
9. 4) Basitlik:
ASP+, basit form bilgileri gönderiminden, kimlik doğrulama,
kullanıcı tanıma, uygulama dağıtımı ve site yapılandırmaya
kadar tüm genel görevleri yapmayı son derece
basitleştirmektedir.
5) Yönetilebilirlik:
ASP+, metin-tabanlı ve hiyerarşik bir yapılandırma sistemi
kullanır. Böylelikle sunucu ortamı ve Web uygulamasına
özel ayarların yapılması son derece basitleştirilmiştir.
Çünkü, yapılandırma bilgisi düz metin olarak depolanır,
yeni ayarlar yerel yönetim araçlarını kullanmaksızın basit
bir metin işlemci aracılığıyla yapılabilir.
10. 6) Ölçeklenebilirlik ve Elde Edilebilirlik:
ASP+, ölçeklenebilirlik düşünülerek tasarlanmıştır. Bu
nedenle, kümelenmiş ve çok-işlemcili ortamlarda
performansı iyileştirmek üzere özel olarak tasarlanmış
niteliklere sahiptir.
7) İsteğe Bağlı Biçimlendirme ve Uzatılabilirlik:
ASP+, geliştiricilerin uygun gördüğü yerlerde kodlarına takı
yapmalarına izin veren iyi-faktörlü bir mimari sunmaktadır.
ASP+ çalıştırıcısının herhangi bir alt bileşenini kendi
yazdığınız herhangi bir bileşenle zenginleştirebilir veya
değiştirebilirsiniz. İsteğe bağlı doğrulama veya durum
servislerinin uygulanması daha kolay hale getirilmiştir.
11. 8) Programlama Dilinde Bağımsızlık:
Asp.net programlama dillerimden bağımsızdır.
Asp.net web yazılımları geliştirebilmek için 20 programlama
dili ve fazlasını kullanabiliriz. Örneğin, VB.net, C#,
JScript.net, C++ with Managed Extensions, COBOL.net,
Perl.net.
9) Derlenmiş Kod:
Asp scripting dilleriyle çalışıyor. Fakat asp.net derlenmiş
kod ve güçlü tipli dillerle çalışıyor. Asp.net bu nedenle
gerçek veri tiplerini kullanıyor örneğin integers ve strings.
Asp.net de kullanılan programlama dilleri daha iyi
olağanüstü durum işleme gücüne sahiptirler. Asp.net
içerisinde try … catch … finally deyimleri ile olağanüstü
durum işleme imkanına sahibiz
12. 10) Sürükle & Bırak ve Olay Bazlı Programlama:
VB’nin en güzel taraflarından birisi sürükle ve bırak objeleri
sistemi ve olay bazlı programlama yani click, doubleclick,
textchange gibi.
Asp.net bu özellikleri Web Formlarıyla aynı şekilde
kullanabilirsiniz. VB de nasıl program geliştiriyorsanız,
asp.net Web Formları da fonksiyonelliği sağlıyor.
11) Mobile Programlama Desteği:
Asp.net ile sadece web yazılımları değil ayrıca mobil
telefonları ve PDA’lar içinde yazılım geliştirebilirsiniz.
Asp.net de mobil aletleri için WML (Wireless Markup
Language) veya HTML 3.2 (Hyper Text Markup Language)
veya cHTML (Compact Hyper Text Markup Language) of
I-mode aletlerini destek sağlar. asp.net mobil aletin
kullandığı protokolü otomatik olarak belirler ve ona göre
sonucu geri döndürür.
13. 12) Bağlantısız Veri Erişimi:
Asp ve ADO nun en önemli sorunlarından birisi ADO her
zaman veritabanına canlı bağlantıyı tutar. Buda asp
sayfalarının çalıştırılmasını önemli ölçüde yavaşlatır.
ADO.net bağlantısız veri erişimini sağlayan sistemi bizim
kullanımımıza sunar.
13) Session state:
Asp session değişkenleri desteği çok sınırlıdır ve birden
fazla web server dan oluşan sistemde session
değişkenlerini hiç desteklemez.
Asp.net de, birçok session depolama metodunu destekler
örneğin In-Process (asp ile ayni), out-of-process (session
durumu başka bir bilgisayardaki Windows Servis ile
sağlanır) ve SQL Server’da. Out-of-process ve SQL Server
seçenekleri web farm desteği sağlar.
14. 14) Güvenlik Desteği:
Asp sadece IIS authentication metodlarını desteklerken
asp.net daha geniş güvenlik sistemini destekliyor.
örneğin IIS/Windows doğrulama sistemlerinden Basic
doğrulama, form bazlı doğrulama ve Microsoft Passport
doğrulama.
Asp.net içerisinde yeni olarak Windows kullanıcı doğrulama
sistemine ek olarak form bazlı kullanıcı doğrulama sistemi
geliştirilmiştir. Bu yeni sistemde çerez yönetimi ve otomatik
olarak doğrulanmayan kullanıcıların başka bir web
sayfasına gönderilmesi gibi güzel özellikler eklenmiştir.
15. 15) XML Bazlı Konfigürasyon:
Asp içerisinde ise konfigürasyon bilgileri çok değişik
yerlerde saklanıyordu.
Örneğin, IIS bilgileri IIS ****base (registry) de
saklanmaktadır.
Asp.net konfigürasyonu metin dosyaları ile yapılır. Bu metin
dosyaları XML dosyalarıdır. Asp.net de XML ayrı bir önem
kazanmıştır. Asp.net de çalışan programı kesmeden bu
konfigürasyon dosyaları değiştirilebilir. Asp.net bunu arka
planda, kullanıcıdan saklayarak halleder. Yeni bir web
isteği geldiğinde asp.net worker process (çalışan işlemci)
yeni konfigürasyonla işleme devam eder.
16. 16) XCopy Kurulum:
COM bileşenlerinden farklı olarak .net bileşenleri Windows
registry’e kayıt edilmesine gerek yoktur. Yapmamız
gereken tek şey bileşeni derlemek, asp.net yazılımının
bulunduğu klasörde BIN isimli bir klasöre ekledikten sonra
bu derlediğimiz bileşeni kopyalamaktır.
17) Hosting Seçenekleri:
Asp bir ISAPI programı olup IIS e bağlıdır. Asp.net ise .net
framework üzerinde çalışır, böylece asp.net sayfaları bu
nedenle IIS dışındaki web serverları tarafından da
sunulabilecektir.
17. 18) Daha hızlı web uygulamaları:
ASP.NET derlenmiş kod ve saklanma işlemi ile hız
kazanıyor. Daha önceki ASP sürümlerinde bir kullanıcı web
sitesine girdiği zaman bilgisayar üzerinde anlık derlemeler
yapılırdı ve bu hız kaybına neden olurdu. Artık ASP.NET ile
hazırlanmış bir kod, bir ziyaretçi tarafından hiçbir zaman
ziyaret edilmese bile derleniyor. Saklama işlemiyle de
hafızaya bilgi depolanıp, bu sayede kullanıcılara verilerin
daha hızlı yollanması sağlanabiliyor.
19) Güçlü veri tabanı fonksiyonları:
ASP gibi ASP.NET de programcıların veri tabanlarıyla
etkileşimli çalışabilen web uygulamaları yapabilmesine izin
veriyor. ASP.NET’in asıl avantajlı bir çok programlama
aracına imkan veren Nesne Merkezli programlama ile
çalışması. Bu sayede daha fonksiyonel ve daha hızlı
tasarıma imkan sağlıyor.
18. 20) Hafıza sızıntısı ve çökme koruması:
ASP.NET teki en çok beğenilen yeniliklerin başında hafıza
sızıntısı ve çökme koruması özellikleri geliyor. Özellikle
hafıza sızıntısı, çoğu kullanıcı tarafından pek bilinen bir
konu değilken, sistem yöneticilerini sıkıntıya sokan
durumlardan biridir. ASP.NET ile bu hatalar otomatik olarak
düzeltilerek, kullanıcıların her zaman web sitesine
ulaşabilmesi sağlanıyor.
21) Çoklu dil desteği:
Programcılar artık 25’ten fazla .NET dili ile ASP.NET’i
kullanabiliyorlar. Bu dillerden bazıları VB.NET, C# ve
Jscript NET. Geniş dil desteği sayesinde birçok programcı
web uygulamalarını kolayca hizmete sunabiliyor.
19. 22) .NET"in parçası olmak:
.NET çatısı 3400’den fazla sınıftan oluşan bir yapıya sahip,
ASP.NET de .NET’in bir parçası olduğu için neredeyse web
uygulaması olarak yapılamayacak hiçbir şey yokmuş gibi
gözüküyor.
23) Programlar ve HTML artık aynı sayfada değil:
Önceki sürüm ASP’lerde göze çarpan sorunlardan biri
HTML sayfasında programlamanın da görünmesiydi. Diğer
bir deyişle, scriptler ve HTML aynı sayfadaydı. Artık
gösterilen kod ile script kodu ayrılmış olduğundan,
Microsoft bunun önüne geçmek için bir önlem almış gibi
görünüyor.
20. Dezavantajları
1) Windows zorunluluğu:
ASP.NET halen Windows işletim sistemi kullanan bir
sunucu üzerinde yapılandırılmak zorunda; kısacası
platform bağımsız değil.
2) Güvenlik:
Güvenlik açıkları ASP.NET’ten değil IIS’ten kaynaklanıyor.
Her yeni sürümde açıkları kapansa da IIS dünya
çapında güvenlik açıklarıyla ünlü fakat .NET ile
bununda bir dezavantaj olmaktan çıkması bekleniyor
21. 3) Bedava değil:
ASP.NET bedava değil. Kendi bilgisayarınızda ASP.NET
kullanabilmek için (lisanslı) bir Windows sürümüne
ihtiyacınız var.
4) Eklenti krizi:
ASP.NET kaynak olarak bedava gibi görünebilir. Bir işlemi
yapmak için gereken eklentiler genelde ücretli olarak
satılıyor.
5) Hosting maliyeti:
Eğer dışarıdan hosting hizmeti alacaksanız biraz daha fazla
para ödemek gerekiyor.
22. Web Sunucusu – IIS (InternetWeb Sunucusu – IIS (Internet
Information Services)Information Services)
• Bilgisayarınızda ASP dosyaları çalıştırmak için IIS yi
kurmanız gerekmektedir.
• IIS işletim sistemleriyle birlikte gelir fakat kurulu olarak
gelmez.
• Kurmak için aşağıdaki işlemleri sırasıyla yapınız.
(Aşağıdaki İşlemler Windows 7 içindir. ) Denetim
Masası > Program Ekle Kaldır > Windows
özelliklerini aç veya kapat dediğinizde pencere
açılacaktır. Internet Information Services (IIS) ayarları
şöyle olmalıdır.
24. ASP.net Sayfa Yapısı veASP.net Sayfa Yapısı ve
ElemanlarıElemanları
• Net sayfalarını hangi programlama diliyle yazılırlarsa
yazılsın görüntülenmelerini sağlayan program,
tarayıcılardır.
• Tarayıcıların yorumlayabildikleri dil ise HTML (ve
betik kodlardır, örneğin javascipt, vbscript, jscript). Bu
nedenle bir web uygulaması tarayıcıda görüntülendiği
sürece hangi programlama diliyle geliştirilirse geliştirin
uygulamanın çıktıları HTML veya betik kodlar olacaktır
25. • Asp.NET ile geliştirdiğiniz uygulamalar da çalıştırılma
sonucu çıktıları HTML ve betik kodlar olarak
tarayıcıya gönderilir. Tarayıcı da bu kodları
yorumlayarak tarayıcı penceresinde görüntüler.
Gördüğünüz sayfanın bahsedilen HTML (ve betik
kodlar) kodlarını sayfanızın “Kaynak kodu”na bakarak
görebilirsiniz. Daha önce oluşturduğunuz
merhaba.aspx sayfasını inceleyelim.
Örnek:
<%@ page language="VB"%>
<script runat="server">
sub page_load(obj as object, e as eventargs)
metin.text ="Asp.NET Dünyasına Hosgeldiniz"
end sub
</script>
<html><body>
<asp:label id="metin" runat="server" />
</body></html>
26. Bir Asp.NET sayfası 5 sayfa elemanından oluşur.
•Sayfa bildirim (direktif)
•Kod bildirim blogu
•HTML sayfa bildirimleri ve HTML elemanları
•Kod sunucu blogu
•Web formu ve web kontrolleri
1)Sayfa Bildirim (Direktif)
Sayfanın başında genelde sayfa denilen bir bildirim
bölümü bulunur. Bu bölümde sayfa hakkında birtakım
bilgiler verilir.
ifadesiyle sayfada kullanılacak programlama dilinin VB
(Visual Basic) olacağı belirtilmiştir. Sayfa bildiriminin
language seçeneği dışında birçok seçeneğe sahiptir.
<%@ page language="vb" %>
27. 2)Kod Bildirim Bloğu
<script runat=”server”></script> ifadeleri arasında
yazılan bölüme “Kod Bildirim Blogu” denir. Kod bildirim
bloğunda sayfanın program kodları bulunur. Bu kısımda
kullanacağımız programlama dili, sayfa bildirim alanında
bildirilir. <script runat=”server”> ifadesindeki
runat=”server” kısmı bu bloktaki komutların sunucuda
çalışacağını belirtir.
Runat=”server” ifadesini “sunucuda çalış” olarak
çevirebiliriz. Bu bölüm bir olayın gerçekleşmesi (örneğin,
sayfanın yüklenmesi, gönder düğmesine basılması)
durumunda çalışacak kodları bulundurur. Örnek sayfada
düğmeye basılması durumunda çalışması istenen kodlar
buraya yazılmıştır.
28. <script runat="server">
sub tiklandi(sender as object, e as eventargs)
mesaj.text = "Merhaba " & metin_kutusu.text & "
Asp.NET sayfa yapısını
ögrenmeye hazır mısın?"
end sub
</script>
sub tiklandi(sender as object, e as eventargs)
….
end sub
29. 3)HTML Sayfa Bildirimleri ve HTML Elemanları
HTML sayfa bildirimlerinin ve HTML elemanlarının
kullanıldığı bölümdür. Örnek sayfada <h1>, <p> HTML
etiketleriyle “Asp.NET Sayfa Yapısı” yazısı
biçimlendirilmiştir. Aslında HTML etiketlerinin kullanımı
sadece bu bölümle sınırlı değildir, etiketler Asp.NET
sayfasının diğer bölümlerinde de kullanılabilir.
30. 4)Kod Sunucu Blogu:
Asp.NET sayfasına eklenebilecek mesaj ve yönergelerin
bildiriminde kullanılır. <% %> etiketleri arasında kalan
bölümdür. Bu etiketler ASP bildirimidir. Bu alandaki
ifadeler derlenmeyip yorumlandıklarından performansları
düşüktür. Bu nedenle bu blogun kullanılması tercih
edilmez.
Burada kullanılan
satırıyla ekrana bir metin yazdırılmaktadır. Response.write
komutu Kod Bildirim blogunda da kullanılabilir .
Response.write("Kutuya adınızı yazıp, „Tıkla ve gör düğmesine‟
tıklayınız:<p>")
31. 5)Web Formu ve Web Kontrolleri:
• Sayfada web formunun oluşturulduğu bloktur. Web
formu, Asp.NET ile birlikte gelen yazım biçimi ve
işleyişi farklı yeni bir form yapısıdır.
• Web formu, <form runat="server"> ifadesiyle başlar
</form> ifadesiyle biter.
• Kullanıcının çeşitli veriler girmesini sağlayan formun
oluşturulduğu bu alanda HTML ifadeleri de
kullanılabilir.
32. • Web formu, istemci bilgisayarda değil tamamen sunucu
bilgisayarda çalışır ve çalıştırma sonucu üretilen HTML
kodları istemci bilgisayara gönderilir.
• runat=”server” ifadesi web form ve kontrollerinin
sunucuda çalıştığını göstermektedir. Bu ifade
yazılmadığında sayfa hata verir.
• Form elemanlarının sunucuda çalıştırılması, form
kullanımının kontrolünün tamamen web sitesi
geliştiricisinde olmasını sağlar.