ASP.NET 2.0.

Slides:



Advertisements
Benzer bir sunumlar
.NET FRAMEWORK -MASAÜSTÜ VE SUNUCU YAZILIMLARI
Advertisements

MS OFFICE Access 2013.
SGB.NET’İN TEKNİK ALTYAPISI
Yazılım Geliştirme ve Java
IIS 6.0. Giriş  Geçtiğimiz yıllarda, Microsoft güvenlik açıkları nedeniyle IIS 4/5 üstünden bir çok saldırıya uğradı.  Bu sebepten Microsoft’un geliştirdiği.
JAVASCRİPT VERİ TÜRLERİ
JavaScript Birinci Hafta.
WEB SERVİCE İDRİS YÜRÜK MAHMUT KAYA.
VS2005 Yönetilen Kodlarla Office Uygulamaları Geliştirmek Atakan Kesler Yazılım Danışmanı Microsoft Regional Director
.NET FRAMEWORK.
İÇİNDEKİLER Hakkında Kod Editörü Hata Ayıklayıcı Tasarımcı
Tuğba DEMİREL
4/3/ :47 PM © 2004 Microsoft Corporation. All rights reserved.
MIT505 İnternet ve Web Programlama: Web Şablonları ve Web düzenleme
İnternet Programcılığı
İSİM UZAYLARI.
04/02/10 Django Web Uygulamaları Geliştirmede Çağdaş bir Yaklaşım.
BTEP 203 – İnternet ProgramcIlIğI - I
FRAMEWORK.
Javascript Oğuz İNAL.
Burcu Musaoğlu Data Sistem A.Ş..
Çevre ve Orman Bakanlığı Bilgi İşlem Dairesi Başkanlığı
Namespaces and .NET Class Library (İsim Alanları Sınıf Kütüphanesi)
HATA AYIKLAMA.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
Temel HTML Eğitimi Erman Yükseltürk.
İSİM UZAYLARI (NAMESPACE).
Management Studio Kullanımı
NESNE TABANLI PROGRAMLAMA -METOTLAR-
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
İSİM UZAYLARI (NAMESPACE)
İnternet Teknolojisi Temel Kavramlar
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Görsel Programlama Dr. Muhammet Balcılar
Net Class Framework ’ ün en üst yapısına İsim Uzayı denir. İsim uzayları ; pascal programlama dilinde 1990 ve hatta öncesinden beri varolmuş, C’de yer.
CONTENT MANAGEMENT SYSTEM (İÇERİK YÖNETİM SİSTEMLERİ)
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Send Response LogCompress NTLMBasic Determine Handler CGI Static File Authentication Anon Ya hepsi ya hiç! Sunucuya işlev eklemenin tek yolu: ISAPI… ASP.NET.
Önceki Dersi Hatırlama !!
ADRES DEFTERİM.
STiL ŞABLONU (CSS) TEMELLERİ
DÖNGÜLER.
Chapter 1: A First Program Using C#
İnternet Teknolojisi Temel Kavramlar
İKMAP İnternet 1 Ders Notu
HAZIRLAYAN:SEMİH KÜRTÜNCÜ
ASP.NET Web FORMS -> MVC FRAMEWORK
Microsoft Windows Server 2003 © Yenilikler ERCAN SAPMAZ.
Dersi Özeti Kursun içeriğini özeti Alt başlıkları Proje Kurs esnasında kullanmayı planladığımı editörler HTMLe giriş Temel etiketler Notepad+’da.
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
İnternet Programlama-I
İnsan Kaynakları Bilgi Sistemleri
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
XML ve XML WEB SERVİSLERİ Volkan ALTINTAŞ. XML Bağımsız bir kuruluş olan W3C tarafından tasarlanmıştır. Herhangi bir kurumun tekelinde değildir. Kişilerin.
SUNUCU İŞLETİM SİSTEMLERİ
WEB KULLANICI KONTROLLERİ ve ANASAYFA KULLANMA(Master Page)
Asp.Net Veritabanı İşlemleri
ALGORİTMA VE PROGRAMLAMAYA GİRİŞ
haZIRLAYAN: ELİF KARAOĞLU
C Programlama Dili Bilgisayar Mühendisliği.
ACTIVE DIRECTORY.
VISUAL STUDIO İÇERİSİNDE VERİ TABANI BAĞLANTISI ACCESS DATA SOURCE SAVAŞ TUNÇER
VERİ TABANI VE VISUAL STUDIO SQL LOCAL DB(YEREL VERİ TABANINI SAYFAYA BAĞLAMA Savaş TUNÇER.
Amazon Web Servisleri ve Javascript Dilinin Birlikte Kullanımı
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
YAZILIM KOD ÜRETEÇLERİ
Asp.Net Veritabanı İşlemleri
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
.NET Teknolojileri .NET mimarisi VB.NET, C.NET, C#.NET
Sunum transkripti:

ASP.NET 2.0

ASP.NET Nedir? ASP.NET, Web sayfaları ve web servisleri oluşturmak için Microsoft tarafından .NET vizyonu çerçevesinde geliştirilen teknolojidir. Yeni bir yaklaşım ortaya konarak klasik web uygulamalarının object-oriented paradigmasıyla çalışması sağlandı. Böylelikle web sayfaları ve web sayfalarındaki kontroller birer obje olarak kullanılabilir hale geldi. ASP.NET ve .NET Framework Her .NET uygulamasında olduğu gibi Asp.net sayfaları da çalıştırılırken öncelikle .NET CLR compiler tarafından MSIL'e çevrilmektedir. Daha sonra JIT compiler tarafından bu aradil makine koduna çevrilir ve işlemci tarafından çalıştırılır. .NET Framework bu safhaları sayfanın her çağrılmasında yapmaya gerek duymaz. Bir kere sayfa derlendiğinde daha sonra derlenmiş kod bellekten çalıştırılmaktadır. Bu sayede uygulamalar klasik asp sayfalarına göre daha performanslı çalışır. Tıpkı windows formlar gibi asp.net uygulamalarında da web form'lar vardır. Web sayfaları event-driven mantığına yaklaştığı için bu şekilde adlandırılmaktadır.

ASP.NET'in ASP'ye karşı Avantajları ASP.NET uygulamaları derlenmiş kod üzerinden çalışır dolayısıyla hatalar dizayn zamanında ayıklanmıştır. try-catch blokları sayesinde hata yönetimi kolaylaşır. Kullanıcı kontrolleri sayesinde uygulamalar daha modüler hale gelir. Sayfa tasarımı windows uygulamalarındaki gibi kolay hale gelmiştir. Geniş bir kontrol ve sınıf kütüphanesi ile daha kısa geliştirme zamanı sağlar. Diğer .NET uygulamalarında olduğu gibi çoklu programlama dili desteği sağlar. VB.NET, C Sharp, Managed C++ v.s. Cache mekanizmasını tüm sayfa üzerinde yada sayfanın belirli kısımları üzerinde tanımlanabilmesini ve bu sayede uygulamanın performansının esnek bir şekilde yönetilebilmesini sağlar.

Session nesnesinin SQL Server üzerinde tutulabilmesine olanak verir Session nesnesinin SQL Server üzerinde tutulabilmesine olanak verir. Bu sayede server resetlendiğinde veya ASP.NET worker process tekrar başladığında Session değerleri korunur. .NET 2.0 ile beraber framework'ün üretmiş olduğu html kodu W3C\ECMA standartlarına uygun hale gelmiştir. Daha önceki versiyonlarında(1.0, 1.1) bu konuda sorunlar vardı. Nesneye dayalı programlama üzerine oluşturulmuştur. Çok sayıda hazır kullanıcı kontrolleri ile daha az kod yazma, daha hızlı uygulama geliştirme Dilden bağımsız bir ortam Gelişmiş online/offline yardım araçları (MSDN) XML Web Servisleri sayesinde uygulamanın farklı ortamlarla konuşturulması

Geliştirme Araçları ASP.NET uygulamaları geliştirmek için çeşitli araçlar var. Bunlardan ücretsiz olanlar arasında en yaygın olanı Visual Web Developer 2005 Express Edition'dır. Profesyonel anlamda en yaygın kullanılan araç Visual Studio 2005'tir. .ASPX Sayfaları aspx .NET ortamında web sayfaları için kullanılan dosya formatıdır. aspx sayfaları gerçekte düz metin sayfalarıdır. aspx sayfaları html ve dinamik koddan oluşur. aspx içerisinde C# kodları da yazılabilir fakat tercih edilmeyen bir yöntemdir. C# kodları business logic dediğimiz asıl işi yapan kısımdır. aspx sayfaları ise arayüz'ü (interface) temsil etmektedir. Sunucudan gelen talep ve cevapları içeren dinamik kod asp, jsp, php' de olduğu gibi <% dinamik kod %> şeklinde aspx içinde yazılır. aspx dosyaları ve diğer dosyalar IIS (Internet Information Services) üzerinde çalıştırılır. Bir aspx sayfası çağrıldığında IIS bunu .NET Framework'e yönlendirir.

ASP.NET Dosya Tipleri Solution dosyası (.sln) Web uygulaması dosyaları ASP.NET Web Form dosyaları (.aspx) Code-behind dosyaları (aspx.vb - aspx.cs) Class dosyaları (.vb - .cs) Master sayfalar (.master) Şablon dosyaları (.skin) Konfigürasyon dosyaları (web.config) Site Haritası dosyaları (.sitemap) ASP.NET Web Servisi dosyaları (.asmx) Proje assembly dosyaları (.dll)

ASP.NET 2.0

ASP .NET 2.0 ile Gelen Yenilikler IIS’ten bağımsız çalışma Code Snippets: Hazır kod parçaları ile daha hızlı kodlama Server Kontrolleri: 50’nin üzerinde sunucu kontrolü MasterPages: Tek dosyadan sayfalar türetme Temalar: Sitenin geneline uygulanabilecek tema ve şablonlar Site Navigasyonu: Tek dosyadan tüm menü işlemleri Veri Kontrolleri: Hızlı ve çok kolay veri işlemleri Üyelik Kontrolleri: Hızlı ve pratik kullanıcı işlemleri Üyelik ve Rol Yönetimleri: Kolaylaştırılmış rol yönetimleri Web Kısımları (Webparts): Sayfaların kişiselleştirilmesi

IIS (Internet Information Services)’den bağımsız çalışma Server Kontrolleri: Calendar, FileUpload, Wizard… Code Snippets (Kod parçacıkları) Visual Studio’nun yapısında bulunan etiketlenmiş haldeki kod parçacıkları. Daha hızlı şekilde kod yazılmasını, program bloklarının oluşturulmasını sağlar. Master Sayfalar (MasterPages) İçerik açısından temel bir sayfadan başka sayfaların kalıtılmasını sağlar Birden fazla sayfaya şablon olacak bir yapı sunar. Böylece içerik sayfaları şablon olarak master sayfasını kullanır Tasarım ve kodlama aşamasında büyük kolaylıklar sağlar

Site.master Default.aspx İçerik http://.../Default.aspx Şablonu

Temalar (Themes) Sayfalarda bulunan html elementlerinin ve ASP.NET sunucu kontrollerinin görünümünü belirleyen şablon kütüphaneleri oluşturulabilir CSS ile html etiketlerinin formatlanması dışında .skin uzantılı dosyalar ile ASP.NET sunucu kontrollerinin görsel formatlamaları da tek bir noktadan yapılabilir App_Themes klasörü ile uygulama ve sayfa bazında kolay şekilde temaların uygulanması ve yönetilmesi sağlanabilir Uygulama bazlı tema belirleme <system.web> <pages theme="YesilTema"></pages> Sayfa bazlı tema belirleme <%@ Page Language="C#“ Theme="MaviTema" ….. %>

Tema aktif olan bir uygulamada sayfa bazında temayı engellemek için Page direktifinde EnableTheming=“False“ ifadesini belirtmek gerekir Sayfa bazında ayarlamada intelli-sense desteği

Navigasyon Kontrolleri Dinamik menüler oluşturmak için gerekli alt yapıyı sunar. JavaScript kullanmadan gelişmiş menü kontrolleri tasarlanabilir .sitemap uzantılı XML tabanlı site haritası dosyaları oluşturularak sayfalarda dinamik menüler oluşturulabilir Menu: Açılır menü kontrolü TreeView: Ağaç yapısındaki menü kontrolü SiteMapPath: O an sayfanın bulunduğu yolu belirten kontrol SiteMapDataSource: .sitemap dosyasını Menu ve TreeView kontrolüne veri kaynağına bağlamak için kullanılır

Üyelik (Login) Kontrolleri Bir web sitesinin üyelik alt yapısını geliştirmek oldukça zor ve uzun bir işlemdir. Veritabanı ve tabloların tasarımı, form arayüzlerinin hazırlanması, doğrulama kontrollerinin yapılması ve kodlanması… Membership API ve login kontrolleri ile gerekli tüm bileşenler hazır olarak gelir ve bir web sitesinde komple üyelik sistemi neredeyse kod yazmadan hazırlanabilir

Üyelik Sistemini Özelleştirme Özel ayarlarla kullanmak için web.config dosyasında bazı ayarlamalar gerekir

Varsayılan ayarlar machine. config dosyasında saklanmaktadır. web Varsayılan ayarlar machine.config dosyasında saklanmaktadır. web.config’de yapılacak ayarlar için bu dosyadaki bilgiler referans alınabilir Membership API’leri varsayılan olarak SQL Server Express Edition veritabanını kullanır SQL Server 2005 için hazır olarak gelen bir veritabanı bulunmaktadır Üyelik Sistemini Farklı Veritabanları İçin Özelleştirme SQL Server 2005 veritabanı ve tabloları için aspnet_regsql.exe ile uygun kurulum yapılmalıdır web.config’e ilgili veritabanı bağlantı elementi eklenmeli ve buna göre providers kısmındaki connectionStringName niteliğine değiştirilmelidir Eğer üye bilgilerini kendi veritabanımızda saklamak istersek MembershipProvider sınıfından bir sınıf kalıtarak miras alınan metotları ezmek(override) gerekecektir

….. Üyelik Sistemine Programatik Erişim Üyelik sistemi sadece kontroller aracılığıyla değil, kendi tasarladığımız formlar aracılığıyla da kullanılabilir Membership sınıfı altında yer alan statik metotlar kullanılarak programatik erişim sağlanabilir Membership.ValidateUser("kullanici_adi", "sifre"); Membership.CreateUser("kullanici_adi", "sifre", "eposta_adresi"); Membership.DeleteUser("kullanici_adi"); …..

Üye Kontrolleri Yeni hesap oluşturma, login olma, şifre doğrulama, şifre değiştirme gibi birçok işlem hazır kontrollerle sadece sürükle bırak ile kullanılabilir halde bulunmaktadır.

Üyelik ve Rol Yönetimi Sitede bulunan bazı dizinlere verilen izin dahilinde belirli kullanıcıların bu dizine erişmesini sağlamak veya erişimini engellemek. ASP.NET’in önceki sürümlerinde web.config dosyası ile kolaylıkla yapılabilen bu işlemler ASP.NET 2.0 ile birlikte daha hızlı ve pratik olarak yapılabilmektedir. (Web Site Administrator Tool) Rol yönetimini aktif etmek için web.config’e şu ifade eklenmelidir <roleManager enabled=”true”/>

Veritabanı İşlemleri Var olan mimari aynen korunmakta ve programcının işini çok kolaylaştıran işlevler gelmektedir Yeni kontrollerle birlikte karmaşık işlemler dahi çok kısa şekilde gerçekleştirilmektedir. Veri sayfalama, sıralama, seçme, ekleme, güncelleme, silme işlemleri… gibi Veri Kontrolleri Gelişmiş veri kontrolleri: GridView, DetailsView, FormView Gelişmiş özellikler ile kolon ekleme, güncelleme, ekleme şablonlarını özelleştirebilme Olaylar aracılığıyla ele alınan satırları güncelleyebilme

Data ve DataSource Mimarisi Veriye kolay erişimi sağlayan data source kontrolleri: SqlDataSource, AccessDataSource, ObjectDataSource… Gelişmiş Command ve Parametre yapısı sayesinde kolay sorgulamalar gerçekleştirebilme

Değişkenler Veri tipi Sınıf Açıklama Byte Tam sayılar (integers) Tam sayı/ 1 byte Short Tam sayılar(integers) Tam sayı/2 byte Int Tam sayılar (Integers) Tam sayı/4 byte Long Tam Sayılar (Integers) Tam sayı / 8 byte Duble Noktalı (ondalıklı ifade) Ondalıklı sayı /8 byte Decimal Noktalı sayı (ondalıklı ifade) Ondalıklı sayı/128 bit Char Karekterler (strings) Bir Tane Unicode Karakter Bool Boolean Doğru yada Yanlış mantıksal değeri

Tam sayı değişken sınıfı : -2. 147. 483. 648 den 2. 147. 483 Tam sayı değişken sınıfı : -2.147.483.648 den 2.147.483.648 kadar olan tam sayıları integer tipi değişkenlerde tanımlayabiliriz. Ondalık Sayılar : Nokta ile kesirli kısımları ifade eder. Karakterler (Strings): Bu karakterler hemen her türlü olabilir.”^+%&”, “548”,”ASP.NET” vb; Boolean tip değişkenler : Boolean genel kullanışta doğru-yanlış, açık-kapalı, evet-hayır, 0 gibi iki zıt ifadeyi temsil eden ifadelerdir. Değişkenlerin Bildirimleri Degisken_tipi degisken_ismi şeklinde yapılır. Örneğin int mesafe;

Değişken İsimlendirilmesinde Dikkat edilecek Hususlar 1. Bir harf veya alt çizgi(_) ile başlamalıdır 2. c# için anlamlı ifadeler olmamalıdır. 3. 255 karakterden uzun olmamalıdır. 4. Karakterler aralarında; boşluk, bölü gibi hataya sebep olacak özel karakterler kullanılmamalıdır. Değişken Değerlerin Atanması int mesafe ; mesafe= 5 ; C# da değişken bildirimini ve atamasını aynı satırda yapmak mümkündür. int mesafe = 5 ;

Değişken değeri atamasında string tip değerler çift tırnak içinde yazılır; string mesafe = “5” public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) int mesafe_1 = 100; int mesafe_2 = "150 km"; int b = mesafe_1 + mesafe_2; Response.Write(b); }

Tip çevirimi public partial class _Default : System.Web.UI.Page { Tip evirmek için “tip” i parantez içinde belirtip, çevirelecek tipin içine koymak. Bu tip çevrimler için hazır metotlar mevcuttur. ToBoolen ToBYte ToChar ToDateTime ToDouble ToInt16 ToInt32 ToInt64 To String public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) int mesafe_1 = 100; String mesafe_2 = "150"; int b = mesafe_1 + Convert.ToInt16(mesafe_2); Response.Write(b); }

Diziler (Arrays) string[] arac = new string [5] ; arac[0] = "otomobil“ ; arac[1] = "kamyon“ ; arac[2] = "uçak“ ; arac[3] = "gemi“ ; arac[4] = "tren“ ; Veya string[ ] arac ={ "otomobil", "kamyon", "uçak", "gemi", "tren" }; Şeklinde tanımlanır.

public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) /* string[] arac = new string[5]; arac[0] = "otomobil"; arac[1] = "kamyon"; arac[2] = "uçak"; arac[3] = "gemi"; arac[4] = "tren"; */ string[] arac ={ "otomobil", "kamyon", "uçak", "gemi", "tren" }; Response.Write("Dizinin 0 numaralı degeri: "); Response.Write(arac[0] + "<p>"); Response.Write("Dizinin 4 numaralı değeri: "); Response.Write(arac[4] + "<p>"); Response.Write("Dizinin 1 numaralı elamanı : "); Response.Write(arac[3 - 2] + "<p>"); }

SON