27
BİL 458  W eb Programlama dersi  Yrd. Doç. Dr. Murat YEŞİL YURT [email protected]

1.ASP.net Baslangic Web Programlama

Embed Size (px)

Citation preview

Page 1: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 1/27

BİL 458 Web Programlama dersi

 Yrd. Doç. Dr. Murat YEŞİ[email protected]

Page 2: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 2/27

•  ANA KAYNAK :

•  ASP .NET Web Developer's GuideLee, Wei Meng Ortiz, Jonothon Garrett, Chris Syngress Publishing,

ISBN:9781928994510

• C# ile ASP.NET 4.0, Zafer Demirkol, Kodlab Yayınları,ISBN:9786054205011

Page 3: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 3/27

Bu dersten geçmek için :

Ödev/Proje/Sunum 5 % 20

Kısa Sınav (Quiz) 2 % 10

Ara Sınav 1 % 30

Yarıyıl Sonu Sınavı 1 % 40

Page 4: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 4/27

İstemci

İstemci

İstemci (Client)

Sunucu (Server)

Sunucu İnternet

INTERNET PROGRAMCILIĞI:Internet programcılığında bir istemci sunucu kavramı karşımıza çıkmaktadır..

Page 5: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 5/27

INTERNET PROGRAMCILIĞI:Internet programcılığında bir istemci sunucu kavramı karşımıza çıkmaktadır..

Page 6: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 6/27

INTERNET PROGRAMCILIĞI:

İnternet dünyası sunucu - istemci mimarisine göre çalışır.Buna göre web sitelerini barındıran bilgisayarlara sunuculara (WEB SERVER),sunuculardan web sitelerini isteyen bilgisayarlara ise istemci adı verilir.

Bu anlamda web sitelerini de ikiye ayırabiliriz:

1. Statik siteler

2. Dinamik siteler.

Statik siteler HTML ile yapılan ve kullanıcı ile etkileşime girmeyen kullanıcıyasadece içerik sunulan, kullanıcının içeriğe müdahale edemediği sitelerdir.

Dinamik siteler ise kullanıcıya içerik sunulduğunda etkileşime geçebildiği sitelerdirÖrn: Yorum yazar, oy kullanır, içerik ekler, arama yapar, vs.

Page 7: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 7/27

INTERNET PROGRAMCILIĞI:

İnternet Programcılığında kullanılan Diller:

1. Çeşitli markup (HTML, CSS, XHTML, XML) diller : Yani biryorumlayıcıya ihtiyaç duyan işaret dilleri demektir.

2. Scripting (PHP, ASP, JavaScript, Perl gibi) diller: Hazır kod parçalarıdır.

3. Web Programlar için önemli bir sunucuda kullanılan diller:(PHP/C#/ASP.NET veya Servlets/JSP/JSF/Java/JEE) kullanılır.

4. Veri tabanı dilleri: SQL, ODBC, ADO.NET veya JDBC.

5.Zengin içerikli internet uygulamaları geliştirmek için kullanılan diller: Ajax,Flash vs..

Page 8: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 8/27

INTERNET PROGRAMCILIĞI:

 WEB SUNUCU:

HTML, ASP.Net, JSP gibi dinamik veya statik sayfaları HTTP protokolü üzerinden sunan sunucudur.

IIS (Internet Information Services):Windows işletim sisteminin web sunucusu ( windows server kurulu bir

bilgisayarın web servis hizmetini sunan sunucusu) bileşenidir. Webuygulamalarının barındırılıp sunulması için bu uygulamanın olmasıgereklidir. (IIS ile ISS farklıdır !).

İstemci sunucudan bir istekte bulunduğunda bunu IIS sayesinde yapacaktır.

Page 9: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 9/27

INTERNET PROGRAMCILIĞI:

IIS (Internet Information Services):

İlk olarak Windows NT (1993 yılında çıkmış 32 bitlik multi tasking bir sunucumimarisi olarak çıkmıştır.. Kişisel bilgisayarlar için olan Windows işletimsistemlerinden ayrıdır.) ile birlikte çıkmıştır ve IIS 1.0 olarak adlandırılmıştır.

Daha sonra Windows NT ile birlikte IIS 4.0 sürümüne kadar güncellenmiştir.

 Windows 2000 ile IIS 5.0 Windows XP ile IIS 5.1

 Windows Server 2003 ile IIS 6.0 ile yenilenmiştir ki asıl atılımı buradayapmıştır. 64 bit mimariye geçiş olmuştur ve ilk defa Ipv6’yı desteklemektedir.

Page 10: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 10/27

INTERNET PROGRAMCILIĞI:

IIS (Internet Information Services):

 Windows Server 2008 ile birlikte tamamen yeniden yazılan IIS 7.0 gelmiştir vegüvenlik en önemli öğe olmuştur.Failed Request Tracing (isteklerdeki hata izlenmesi)

 Windows 7 ve Windows Server 2008 R2 ile birlikte gelen IIS 7.5 gelmiştir.(IPSec (IP security  TCP/IP protokolünün güvenliğini sağlamak için kullanılırkimlik doğrulama ve veri akışı her IP paket şifrelemesi) ve Requesting Filtering isteklerin filtrelenmesi özelliği )

 Windows Server 2012 ile birlikte tamamen yeniden yazılan IIS 8.0 gelmiştirSSL sertifika desteği ASP.NET 4.5 Desteği Windows Server 2012 R2 ve W indows 8.1 ile sunulan IIS 8.5 sunulmuştur..

Page 11: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 11/27

Page 12: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 12/27

 Windows 10 için IIS ayarı.

Page 13: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 13/27

INTERNET PROGRAMCILIĞI:

.NET yapısı:

 Yazılan bir program için en büyük sorun yazılan programın her işletimsistemi ve konfigürasyonunda kullanılamamasıdır.Bunun için .NET yapısı en iyi çözüm sunan platformdur.

Birçok dil seçeneği tarafından desteklenir.

Bu nedenle aslında ASP.Net bir programlama dili değil ASP dili üzerinebina edilmiş bir .NET platformudur. ASP:NET ile birlikte birçok dil kullanılabilmektedir.

.

Page 14: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 14/27

Operating System + Hardware

.NET Framework

.NET Application

INTERNET PROGRAMCILIĞI:

.NET yapısı:

Page 15: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 15/27

.Net Framework’ün Yapısı

•  Java’dan önce, geliştirilen yazılımlar direkt olarak makine koduna çevrilirdi. Java

ile program kodu önce byte code’a çevrilir. JVM (Java virtual machine) bukodu işletim sisteminin istediği koda çevirir. .Net içinde çalışma mantığıbenzerdir .NET kodu ilk önce IL’ ye (Intermediate Language-Ara dil-veya

MSIL) derler, bu IL kodu çalıştırılmak istendiğinde CLR, JIT derleyicilerinikullanarak kodu makine diline çevirir.

C++ C#Basic  J#

MSIL

Makine Dili

Derleyici

Page 16: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 16/27

..NET İLE KODU DERLEME VEÇALIŞTIRMA 

• .Net Framework’ün Yapısı ile bir C# kodunun çalıştırılması

C#

MSIL

Makine Dili

CLR 

Page 17: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 17/27

• MSIL (Microsoft Intermediate Language)

Normalde bir program derlendiğinde doğrudan makine koduna çevrilirken,

.NET uyumlu bir dil ile derleme yapıldığında program kodu makinekoduna değil de MSIL (Microsoft Intermediate Language)'e çevrilir.

MSIL işlemciden bağımsız komut setinden oluşmaktadır. Bu komut setiiçerisinde nesnelerin yüklenmesi, depolanması ve başlatılması sağlayankomutların yanı sıra aynı zamanda nesneler üzerinde metot çağrımını sağlayankomutlar da yer almaktadır. .NET Framework ile yazılmış bir kaynak kodunderlenmesi sonucu MSIL kodu oluşmaktadır. MSIL, NET dilleri arasında bir

bütünleşme sağlamaktadır. MSIL kodun çalıştırılmasından önce var olan MSILkodu, doğal makine koduna (native code) dönüştürülmektedir. Buradainterpretation dediğimiz yorumlama işlemi yapılmaz.

Page 18: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 18/27

Page 19: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 19/27

Base Class Library

Common Language Specification

Common Language Runtime

ADO.NET: Data and XML

VB VC++ VC#

V i   s u al   S  t   u d i   o.NE T 

ASP.NET: Web Services

and Web Forms

JScript   …

Windows

Forms

INTERNET PROGRAMCILIĞI:.NET Mimarisi

Page 20: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 20/27

.NET MİMARİSİ:

• ASP.NET

 Web forms

 Yönetilebilir Kod ( Manageable code (non spaghetti))

Mantıksal örgülü yapısı ( Logical evolution of ASP (compiled))

Güçlü web Form yapısı (The power of Web Forms with ademonstration)

 Web Services

İnternetin taşıyıcı gücü olarak adlandırılır. ( Programming theInternet to leverage the "power at the edge of the cloud« ).

 ADO.NET, Veritabanı (e.g., DataSets, Datareader)

 Visual Studio.NET

Page 21: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 21/27

 ASP.NET MİMARİSİ:

 ASP.NET Microsoft tarafından geliştirilen bir teknolojidir.  ASP (Active Server Pages) Etkin Sunucu Sayfaları. anlamına gelir.

 ASP.NET, klasik ASP'den çok daha üstün özelliklere sahiptir.

 ASP'de oluşturulan dosyaların uzantısı .asp iken, ASP.NET dosyalarının

uzantısı .aspx'tir.

 ASP.NET sayfaları oluşturabilmek için bir programlama dili bilmemiz

gerekiyor. Burada Microsoft'un bize sağladığı kolaylık, herhangi bir

programlama dilini seçme şansını bize vermesidir. Fakat en çok VisualBasic ve CSharp(C#) dilleri kullanılır.

 ASP.NET 1.0 versiyonu ile çıktı ve günümüze kadar 1.1, 2.0, 3.5, 4.0

 versiyonları yayınlandı. Şu anki en son ASP.NET versiyonu ise 4.5 dur.

Page 22: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 22/27

 ASP.NET MİMARİSİ:

Gelişmiş web uygulamaları oluşturmak için kullanılır.

:NET Framework üzerinde uygulamalar geliştirilmesini sağlar.

Nesne tabanlıdır. Dilden bağımsızdır. (.NET destekli diller kullanılabilir.)

 Yapısında bir çok hazır ( class) yapı ve kontrol barındırır.

Hızlı ve yüksek performans gerektiren uygulamalar için kullanılırlar.

Page 23: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 23/27

 ASP.NET MİMARİSİ:

Çalışma modeli olarak istemci ve sunucu çalışma modelini kullanır.

İstemci tarafında .aspx sayfalar bulunur .Bu sayfalar HTML ve KOD

kısmı olarak 2 bölümden oluşur.

HTML kısmında bildiğimiz HTML bileşenleri ve ASP.NET sunucu

kontrolleri bulunur.

KOD kısmında .NET destekli bir dil ile yazılan ve sunucu tarafı için

geliştirilen bölüm yer alır. Kod kısmındaki uzantılar .aspx.cs olur (C#

için)

Oluşturulan her sayfa bir CLASS dır.

Page 24: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 24/27

 ASP.NET MİMARİSİ:

İstemciden bir istek geldiğinde IIS bu isteği alır ve aspnet_Isapi.dll

dosyasına oradan da .NET Framework aktarır. Bu istek sunucunun belleğinde kaydedilir. İsteğe göre C# kodu çalıştırılır.

 Ve HTML çıktı olarak tekrar IIS tarafından istemciye gönderilir.

IIS Aspnet_Isapi.dll

.NET Framework 

(Common Language Runtime)

C#kodu çalıştıHTML

Page 25: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 25/27

Page 26: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 26/27

 ASP.NET MİMARİSİ:

 ASP.NET sayfalarının görsel kısmı HTML,CSS ve JAVASCRIPT olabilir.Buna ek olarak asp veya asp.net kodları da bu belgeye eklenebilir. ASP.NETsayfaları bildirim satırı ile başlar. Bu bildirim @Page ile başlar. Bu satıraSayfa Direktifide denir.

<%@Page Title="Home Page"  Ana sayfa tarayıcı BaşlığıLanguage="C#" : Kullanılan Programlama diliMasterPageFile="~/Site.Master" : Ana sayfa dosyası AutoEventWireup="true" :  varsayılan olaylara method arası bağlantı kur

CodeBehind="Default.aspx.cs" Kod sayfasıInherits="WebApplication1._Default" Uygulamamamızın Anasayfası

(çalıştırılacak sayfa)%>

Page 27: 1.ASP.net Baslangic Web Programlama

8/16/2019 1.ASP.net Baslangic Web Programlama

http://slidepdf.com/reader/full/1aspnet-baslangic-web-programlama 27/27

 ASP.NET MİMARİSİ:

 ASP.NET sayfası ilk oluşturulduğunda runat="server" parametresi

 yazılıdır.

<asp:Content runat="server" >

Bu parametre yanlızca form için değil, sunucuda çalışacak tüm kontrolleriiçin gereklidir. Yani kodların sunucuda çalışmasını sağlar.Bu arada tüm sunucu kontrolleri <asp: ile başlar ardından kontrolün türü ve özellikleri gelir.

<asp:Content runat="server"ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">

http://www.bilimsel.com.tr/04-04-ilk-asp-net-programim/