You are on page 1of 33

ASP.

NET WEB APPLICATION

Bunu yerine Yine FILE NEW WEB SITE Seeneini


seelim. Sonra yukardaki pencereden ASP:NET Web Form
Site seeneini iaretleyelim .sim verip kaydedelim.

Grld gibi bize lazm olan tm alt yap (Formlar,


Global aspx,Default.aspx, Amsteroage, Packages..) hazr
olarak kodlaryla birlikte oluturulmu olmaktadr.

Google chromeda grnen sayfamz

Bu sayfada yaplacak tm deiiklikleri Source(Kod) ekranndan yapyorum (Design


ekranndan da yaplabilir).

Sayfamz PARDUSu
tantacak bir sayfa olsun.
Buradaki paragraf
internetten (Wikipedia)
bulduum
2 satr yaptryorum.
Linkide wikipedia olarak
ayarlyorum.

Aada SPLIT ekran dzeni yani hem kod ekran hem tasarm ekran
grlmektedir. Bu sefer deiiklii Design ekranndan yaptm.

Mevcut Maddeleri ve liinkleri deitirip birde fazladan madde ekledim.

imdi mevcut sayfada bize sunulan arka plan renkleri vs. gibi zellikleri deitirmek
istiyoruz.

Bunun iin arka planda


yer alan ve Sitenin genel
ablonunu oluturan
CSS dosyasn amamz gerekir.
CSS dosyas olduu okla gsterilen
koddan anlalabilinir.
<Section class=Featured>
<div class=content.wrapper>
Kodlar bize ablonu gsteriyor.

Buradaki
CSS Classlar
kullanlarak
Her trl ablon
ayar
yaplabilmektedir.

Web Application iinde oluturulan tm klasr ve dosyalar buradadr.

Web Application
zerinde sa
tua basarak
ADD New
Folder diyerek
kendi
klasrmz
olutururuz
veya
Mevcut
klasrleri
kullanabiliriz.

1.
2.

Logo diye bir klasr oluturup internetten bulduum pardus logosunu iine attm (Eer
resim grnmyorsa Include in project seenei seilmelidir.)
Site-Master seenei tklayp sol alt kedeki Design seenei seilir ve Logo srkle
brak yntemiyle eklenir.

1.

imdi sayfamzn menlerini Trkeletirelim. bu ilemi Site.Master


sayfamzdan yapyoruz.

ASP.NET Web Application COMPONENTS

ASP.NET Web Application Bileenleri

zerinde altnz projenin baka bilgisayarlarda


kullanlmak veya altrlmak zere alnan/gtrlen
dosyalarn hepsine birden Assembly denilmektedir. Assembly
tek exe dosyadan meydana gelebilecei gibi ok sayda resim,
text vb. dosyasndan da oluabilir. Assembly hakkndaki
bilgiler Properties klasrnde tutulan AssemblyInfo.cs
dosyasnda tutulmaktadr. Bu dosyann ierii Project
Properties penceresinden ulalan Assembly Information
diyalog kutusunda yaplan ayarlardan etkilenmektedir.

ASP.NET Web Application Bileenleri


Solution Explorer
References seeneini
sein. Visual Studio 2008
ile hazrlanan C#
projelerine 8 referans
otomatik olarak dahil
edilmektedir. Ve bu
referanslarda bulunan
namespace'lerdeki Class
kullanabilirsiniz. DLL
dosyalar (references)
bellee yklenirler.

Her ne kadar burada referans eklemeden sz edilse bile eklenen


herhangi bir ey yoktur.
Yaplan udur: Yararlanlmak istenen referanslar hakknda Visual
Studio bilgilendirilmektedir. Yoksa referanslar yani DLL dosyalar
ilgili klasrde durmaktadr.

ASP.NET Web Application Bileenleri

1- About.aspx
2-Contact.aspx
3-Default.aspx
4-Site.Master
5-Global.asax

Dosyalar otomatik olarak oluur.


Bu dosyalarn her birinin altnda .cs dosyalar ve
designer.cs dosyalar olumaktadr.
rnein:
About.aspx dosyasnn;
About.aspx.cs
About.aspx.designer.cs

ASP.NET Web Application Bileenleri


Master Page, web kullanc kontrollerine ok fazla
benzemektedir. Kullanc kontrollerinden fark, HTML ve
dier kontrollerin bir arada tmleik halde
bulunabilmesidir. Master Page, ek zelliklerle, olaylarla,
metotlarla gelitirilebilir ve yine web kullanc kontrolleri
gibi son kullanc tarafndan direkt olarak
grntlenemezler. Mutlaka bir web form iinde yer
alrlar ya da directive edilirler diyebiliriz.
Bir Master Page birden ok web formu barndran bir
ablondur aslnda yani bir templatedir. rnein bir
master page, her web sayfasnda olan header, footer,
navigation bar gibi elementleri barndrabilir ve bunu
daha sonra tm sayfalarmzda kullanabilmek iin bize
kolaylk salayabilir.
Master Page dosyalarnn uzants .net
ortamnda masterdr. Ayrca tpk web formlar ve web
user kontrolleri gibi codebehind dosyalarn destekler.
Tm master page
dosyalar System.Web.UI.MasterPagesnfndan miras
almaktadrlar.

ASP.NET Web Application Bileenleri

Daha nce bahsettiim gibi bir master page HTML ve


eitli asp kontrolleri kullanlarak inaa edilebilir. zel
olarak bir ContentPlaceHolder kontrol
kullanlr. ContentPlaceHolder bir yer tutucudur.Bu yer
tutucuda ilgili web formunun ihtiya duyduu kontroller
her ne ise bu yer tutucu iinde tutulurlar. Bir Master Page
olutururken , ve tagleri kullanlr.
ContentPlaceHolder : Ksaca btn web sayfalarnda
deiebilecek ierik ksmdr.

ASP.NET Web Application Bileenleri

Her sayfann sonunda (FOOTER) yer alsn istediim yazlar


buraya yazyorum.

ASP.NET Web Application Bileenleri

Her sayfann banda (HEADER) yer alsn istediim yazlar buraya yazyorum.

ASP.NET Web Application


GLOBAL.ASAX Dosyas

ASP.NET Web Application Bileenleri

Visual Studio'da ASP.NET bir proje oluturulduunda iki adet zel dosya daha
oluturulur. Bunlar ;
(1) Web.config (2)Global.asax dosyalardr.
Eer projede Global.asax dosyas oluturulmam ise, Solution Explorer zerine sa
tklanarak Add New Item seilir ve Global.asax dosyas oluturulur.
Global.asax (Global Application Class - Genel Uygulama Snf) dosyas
tpk web.config dosyas gibi grsel bir arayz olmayan ve alan uygulamann
metotlarnn kullanlmasn salayan zel bir dosyadr ve sadece server zerinde
altrlr.
AMA ! uygulamamz ilk altrldnda ya da server restart edildiinde ilk
alan Application_Start yordamdr, ve bu yordam Global.asaxda tanmlanmtr.
Yine istenmeyen bir olay meydana geldiinde alan Application_Error, yine
Global.asaxda tanmlanmtr
olarak ASP.NET web sitesi projelerinde kullanlabilmektedir.

ASP.NET Web Application Bileenleri

Aada Global.asax dosyas iinde yer alan yordamlarn listesini grebilirsiniz.


Application_Start : Uygulama ilk kez altrldnda bir kere alan, IIS baladktan
sonra kullancya ilk istekte gelen, Loglama (data akn takip) iin kullanlan bir
olaydr.
Application_End : Uygulamann sonlanmasnda hemen nce alr. Application_Start
ta tanmladmz fonksiyonlar burada sonlandrabiliriz.
Application_Error : Uygulama iinde istenmeyen bir hata meydana geldiinde alr.
Application_BeginRequest : Serverden her istek yapldnda alr. Projemizde
bulunan herhangi bir sayfadan istek arldnda tetiklenen olaydr.
Application_EndRequest : Serverden gelen her istek sonlandktan sonra alr.
Application_PreSendRequestHeaders : Balk bilgileri taraycya gnderilmeden
nce alr.
Application_PreRequestContent : erik bilgileri taraycya gnderilmeden nce
alr.
Application_AuthenticationRequest : Kullanc kimlik dorulamas yaplmadan
hemen nce alr. Bu sayede kullanc herhangi bir sayfaya ynlendirilebilir, rol
atanabilir veya bilgisayarna cookie braklabilir.
Application_AuthorizeRequest : Kullanc yetkilendirmesinden nce alr.

ASP.NET Web Application Bileenleri

protected void Session_Start(object sender, EventArgs e)


{
}
Sitemizde bulunan herhangi bir sayfay kullanc ziyaret ettiinde arlr.
lk sayfa isteinde arlr ve daha sonra arlmaz.
Fakat sessionun timeout sresi dolmusa ve kullanc bu sreden sonra tekrar bir istekte
bulunursa yeni kullanc gibi davranlp bu event tekrar tetiklenir. Kullancnn
siteyi ilk ziyareti srasnda yazlacak fonksiyonlar burada bulunur.
Online kullanc says gibi
protected void Session_End(object sender, EventArgs e)
{
}
Kullancnn timeout olmas durumunda bu olay tetiklenir. Yukarda yazlan bir ok
fonksiyonla ilgili ilem burada yaplabilir. Online kullancnn siteden kmas vb.

AKTF ZYARET UYGULAMASI


GLOBAL.ASAX.CS SAYFAMIZA AAIDAK KODLARI YAZIYORUZ.
void Application_Start(object sender, EventArgs e)
{
// UYGULAMA BALADIINDA ALIAN KOD (APPLICATION-START)
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterOpenAuth();
// Uygulama ilk altnda Visitor deikenimi sfrlyorum.
Application["visitor"] = 0;

}
void Application_End(object sender, EventArgs e)
{
// UYGULAMA BTTNDE ALIAN KOD (APPLICATION-END)
Application.Remove("visitor"); // Uygulama sonlandnda Application State
deikeni silinir.
}

AKTF ZYARET UYGULAMASI


GLOBAL.ASAX.CS SAYFAMIZA AAIDAK KODLARI YAZIYORUZ.
void Session_Start(object sender, EventArgs e)
{
// Kullanc sitemi ziyaret ettiinde visitor deikenine +1 eklenir.
//Ayn anda 2 veya daha fazla kullanc visitor deikenine deer atamasn diye
Application.Lock(); // ile uygulama kilitlenir.
Application["visitor"] = Convert.ToInt32(Application["visitor"]) + 1;
Application.UnLock();
}
void Session_End(object sender, EventArgs e)
{
// Kullanc uygulamay sonlandrdnda-siteden ktnda- (sesion timeout) visitor
deikeni -1 yaplr.
Application.Lock();
Application["visitor"] = Convert.ToInt32(Application["visitor"]) - 1;
Application.UnLock(); // ile deikene yeni deer atamas iin izin veriyorum.
}

AKTF ZYARET UYGULAMASI


DEFAULT.ASPX.CS SAYFAMIZA AAIDAK KODLARI YAZIYORUZ.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Aktif Ziyareti : " + Application["visitor"]);
}
}
}

You might also like