Asp’ye Giriş

Microsoft internet information server(IIS) ASP ile internet ve tumleşik intranet uygulamaları gelistirmek  icin   tasarlanmış guclu bir platformdur. Webmasterlar ActiveX scriptlerini ve server tabanlı çözümler uretmek icin yaratılmış, serverda çalışan activeX server bilesenlerini kombine edebilirler.

ACTIVE SERVER PAGES:ASP sayfaları HTML icine gomulmus scriptler seklinde yazilirlar.bu scriptler database’e ve uygulamalara  erişim için ve veri işlemek için local server veya baska bir serverda calisan componentlere basvururlar.Bir browser ASP dosyasını cagiridigi zaman server bu sayfada bulunan kodları işler ve client tarafa standart HTML kodları gönderilir.

AÇIKLIK:IIS kullanıldıgında web uygulamaları geliştirmek için  belli bir dil bilmek zorunda degilsiniz.Active server pages activeX scripting dillerinin tumu ile uyumludur.

Active server Pages default olarak Visual Basic scripting language(VBScript) ve Jscript destekler.plug-inler sayesinde REXX ,Perl ve Tcl gibi dilleride IIS ye veya web server’a bilesenlerinde eklenmesi ile destekleyecektir.Birden cok scripting dili tek asp sayfası içinde kullanılabilir.ActiveX server Bilesenleri hemen hemen butun dillerde yazilabilir.Bunlar c++,Java,visual Basic cobol ve dahasıdır.

ASP ile Web  Uygulamaları geliştirmek kolaydır:HTML yazarlarına serverdaki web sayfalarına canlılık getirmeyi kolay kılar.özellştirilmiş sayfalar basit uygulamalar çok çabuk bir şekilde geliştirilebilir. Her kullnaıcı icin farklı bir içerik sunan dinamik sayfalar olusturmak için perl ve c gibi dillerde karmasık CGI kodları yazmaktansa web developerlar butun bu işleri ASP ile çok kolay bir şekilde yapabilirler.Aşagidaki örnekte o kullanıcının ip adresi o anki zaman ve client tarfın kullandıgı browserin tipi kullnıcıya yansıtan VBScript ile yazilmis ASP kodlarını görmektesiniz.

<HTML>

<HEAD>

<TITLE>Deneme</TITLE>

</HEAD>

<BODY>

<P>

Merhaba <%= Request.ServerVariables(“REMOTE_ADDR><br>

Şu an saat <%= now %><br>

Kullandıgınız browser

<% =Request.ServerVariables(“http_user_agent”) %>

</BODY>

</HTML>

 

Bu kodların çıktısı aşağıdaki gibi olacaktır:

Mantık ve lojiği presentasyondan ayırır:Web işi grafik,Html,programcılık,yayınlama gibi bir cok işi bir arada toplar.Asıl zor olan bunlarin birara verimli bir şekilde çalışmasına sağlamak ve biribirinin işini  aksatmayacak şekilde değişiklikler yapmak.bugun dinamik bir içerikte olması gerekenler tasarım, lojik ve içeriktir.Perl ve C kodlarında  değişiklik yapmak uygulamayı zorlastıracaktır ve yanlışlıkla yapılacak bir değişiklik programı veya HTML formatını tamamıyle bozabilir.

Scripting ve bilesenlerin kullanılması sayesinde asp veritabanındaki verilere erişim için yazılmış bir programı ve uygulamayı tasarımdan ve web sayfasınıın diger içeriklerinden ayırır.

Bu, uygulama geliştiricilerin business lojiklerini istemci tarafa yansır endisesi tasimadan html kodlarının icine yazabilmelerini saglar.tasarımcılar sayfalarını deidikleri şekilde tasarlamakta ozgurdurler.scripting program ile HTML birleştiren  bir kopru gorevi ustlenmiştir.

Aşağıdaki örnekte bir form ile gonderilen URL aracılığı ile alınan ticker symbol degişkeni ASP dosyasına gonderiliyor.ASP Dosyasının ilk kısmında stok fiat serverI ile bağlantı kuracak component çağırılıyor.bu nesnenin fiatı acma kapama gibi özellikleri HTML icine kolayca yazılabilir.Programcı istedigi dilde calişabilir.Endişe edilecek tek nokta stok fiar server’i ile nasıl  haberleşileceğidir.HTML yazıcısınında bilmesi gereken tek sey componenti nasil yazacagidir,stok fiat server inin nasil calisacagi onu ilgilendirmez.

<HTML>

<%

TSym=Request.QueryString(“TickerSymbol”)

Set NObj=Server.CreateObject(“NASDAQ.TickerObj”)

if NObj.GetCompany(TSym)=False then

Server.Redirect(“ticker/entryform.htm”)

%>

<H1>Gunluk satış raporu<%=NObj.CompanyName%> </H1>

<TABLE>

<TR><TD>Open</TD><TD>Close</TD><TD>Volume</TD></TR>

<TR><TD><%=NObj.Open%></TD>

<TD><%=NObj.Close%></TD>

<TD><%=NObj.Volume%></TD></TR>

</TABLE>

<H2>rapor zamanı<%=time()%><%=date()%></H2>

</HTML>

Manul Derleme yoktur:kodlarda bir değişik oldugu zaman programı tekrar derlemek yerine ASP dosyalarında bir sonraki request yani istem yapıldığı zaman server yeni ASP kodlarını derler ve serverin cache in yukler istemci tarafada yeni sonuclar gitmiş olur. Sitenizi yaparken ASP dosyalarınızsa değişklik olduğu zaman sadece refresh etmeniz  yeterli olacaktır.

Browserdan Bağımsızdır:ASP uygulamaya browser açısından tarafsız bir yaklaşım sağlar. Dinamik bir içerik sağlamak için oluşturulan uygulama mantığının tümü server uzerinde çalıştığı için uygulama geliştiricileri web sitelerinin hangi browser tarafından görüntülendigi konusunda endişelendirmez. Browserlar sadece ASP dosyasının işlenmesi sonucu oluşan çıktıyı yansıtırlar scriptler serverda çalışır.

SCRIPTING ve ACTIVE SERVER PAGES: Active Server Pages dinamik,interaktif yuksek performanslı web server uygulamaları oluşturmak ve çalıştırmak server taraflı bir scripting ortamı sağlar. Server taraflı scripting web serverinizin ozelleştirimiş HTML sayfalrı olusturmada gerekli bir işi yapmasını sağlar. Örneğin usera gore userin browserinin tipine veya ozelliklerine gore  sitenize nerden bağlandıklarına gore yada bir alisveris siteniz varsa musterinizin daha once aldigi urunlere gore farklı sayfalar gelmesini sağlayabilirsiniz.

Scripting dilleri C,C++,ve visual Basic gibi programlama dilleri ve HTML arasında bir basamaktır. HTML genel olarak format berlemede kullanılırken programlama dilleride bilgisayarlar karmaşık komutlar vermek için kullanılır.scripting dilleri ise bircok masaustu uygulamasındaki  macro dilleri gibi bunlar arasında bir yere sahiptir.

Active server Pages scripting enginelerin kullanımı ile tum ActiveX scriptinng dillerini desteklerler. Scripting engineler Component Object Model(COM) denilen scriptleri işleyen nesnelerdir.IIS VBScript ve Jscript dillerini desteklemektedirler ve REXX,Perl,Tcl ve diger scripting dilleri içinde plug-in ler mevcuttur.

Active Server Pages web uygulaması geliştiricilerinin değişik scripting dilleri kullanmalarını mumkun kılar.Bunun nedeni scriptlerin client taraflı scriptingin tersine server tarafında işleniyor olmasıdır.Aslında tek ASP sayfasında birkaç scripting  dili kullanılabilir.Bu bir tagin icinde script dilinin belirtilmesi ile yapılır.Örneğin aşağıdaki scriptte Active server Pages tarafında işlenecek olan jScript ve ardındanda Vbscript kodlarının hangi script diline ait oldugu onceden belirtiliyor.

<html>

<script language=”jscript” RUNAT=Server>

<Jscript kodları bu kısma yazılır>

<script language=”VBScript” RUNAT=Server>

<VBscript kodları bu kısma yazılır>

</html>

ACTIVEX Server Bileşenleri:IIS nin bir avantantajı  ActiveX Server Componentleri’ne destek veren web çözümleri için component tabanlı uygulama gelişimini sağlamasıdır.Active Server Pages C++,Visual Basic,Java yada Cobol gibi herhangi bir dilde yazilmis  ActiveX Server  Componentlerini çalıştırmanıza olanak sağlar.IIS filtreler  ve ozel web uygulamaları icin  CGI ve ISAPI pprogramlarını desteklemeye  devam ettiği sürece ,Active Server Componentleri uygulama geliştirmeleri için güçlü,component tabanlı bir  yaklaşım sunar

ACTIVEX Server Bileşenlerinin Yararları:ActiveX server componentleri(bileşenleri)  daha onceki bilinen adıyla OLE otomasyon Serverları web uygulamalrının bir parçası olarak web server uzerinde çalışmak uzere tasarlandılar.Bu componentler scriptinizin fonksiyonelliğini artırabilirler.Bu birçok programcının component ve bu componentleri olusturmada kulanılan cogu geliştime aracını  geliştirmeyle yakından ilgili olmasını kesinleştirir. Dahası bircok ActiveX  componenti zaten hazır olarak bulunmakta ve web uygulamalrı geliştirmek için hazır bloklar halinde kullanıma hazır haldedirler.

Yazılış şekillerine bağlı olaraktan ,ActiveX server componentleri bir web brpwser uzerinde de çalışabilirler ve geleneksel client-server uygulamaları ve uygulama plug-inleri gibi web server dışındaki ortamlardada kullanılabilirler.

 

ASP sayfaları web sunucusu altında çalışan, içindeki scriptler sayesinde aktif olarak web sayfası oluşturan ve oluşturduğu sayfayı sunucuya bağlanmış olan internet browser’ ına gönderen interaktif sayfalardır. Internet ortamında çalıştığı için herkesin aşina olduğu aşağıdaki temel elemanları kullanır:

ASP, 1996 yılının Kasım ayında Microsoft’un bir Active Platform dizaynını açıklaması ile doğdu. Active Platform, Microsoft’un bir masaüstü bilgisayar ile bir server bilgisayarın nasıl haberleşmesi gerektiği konusundaki fikirlerini yansıtmaktadır. Active Desktop ve Active Server olarak iki bölümden oluşur. Active Desktop client tarafını ya da HTML sayfalarının bir web browser üzerinde izlendiği kullanıcı tarafını temsil etmektedir. Active Server ise server tarafı componentini temsil etmektedir. Server tarafından işlenen sayfalar da Active Server Pages adını almaktadır.

Microsoft’un dökümanları ASP’yi “dinamik, interaktif, yüksek performanslı Web server uygulamalarını yaratıp çalıştırmak için kullanabileceğiniz bir server tarafı scripting ortamı” olarak tanımlamaktadır. ASP dosyaları sade HTML dosyalarının verebileceğinden çok daha yüksek seviyede interaktiflik sağlayabilmek için HTML’i, scriptleri ve ASP kodlarını birleştirmektedir. ASP ile Windows NT üzerinde çalışan programcılar dışarıdan gelen bilgileri temel alarak sayfalarının nasıl görüntüleneceğini düzenleyebilirler. Her hafta farklı bir resim veya kullanıcının yaşına göre bilgi gösterilebilir. Durum dallanması (Condition Branching) olarak adlandırılan bu işlem ASP’ye belirli durumlar karşısında ne göstereceğine karar verme olanağı sağlamaktadır.

Diğer yanda HTML’in bunu yapmak için hiç bir şansı yoktur. Çünkü HTML sadece gösterme amaçlı bir dildir. Gerçek hayatta genellikle kullanıcılarınızın tecrübelerine bağlı olarak farklı içeriklere sahip olan sayfalar sunmak isteyeceksiniz. Bunun için önce karar verme yeteneğine sahip olmanız lazım.

DOSYALAR NASIL İŞLENİR?

Normalde HTML dosyaları client tarafında (yani kullanıcının web browserında) işlenmekedir. Microsoft’un Active Server Platform’u sayesinde artık server tarafı da dosyaları işleyebilecektir. Burada server’ın işlemesinden kasıt bir dosyanın kullanıcının browser’ında gösterilmeden önce server tarafından bazı temel adımların tamamlanmasıdır:

Dosyanın uzantısına bakar. Eğer dosya .html ya da .htm gibi standart bir uzantıya sahipse server dosyayı browser’a gönderir. Eğer dosya .asp (ya da .asa) gibi bir uzantıya sahipse server dosyayı açar ve içinde ASP kodunu belirten tag’ları aramaya başlar. ASP kodu özel tag’lar dahilinde yazılır; “<%” kodun başlangıcını,” %>” ise kodun bitişini gösterir.
Server bu işaretlerin dahilindeki kodu işleme koyar ve onun yerine HTML kodu yazar. Bu HTML kodu kullanıcının ayarları ile bilgiye ya da client tarafındaki diğer durumlara dayanmaktadır.
Sonuç olarak kendi orijinal ve ayrıca ASP tarafından üretilen işaretleri taşıyan sayfa kullanıcının browser’ına gönderilir.

Bir alışveriş kartı örneğini ele alalım. Bir müşterinin mağazanın kataloğundan 5 tane malzemeyi seçtiğini farzedelim. Bu seçimler satır sütunları olan bir tablo içeren bir alışveriş kartı sayfasında listelenecektir. Her sütunun en üstünde örneğin miktar, stok numarası ya da fiyat gibi bir başlık olacaktır. İçeriği müşterinin ne seçtiğine bağlı olarak değişen bu sayfayı nasıl dizayn etmeyi düşünürdünüz?

Sütun başlıkları değişmeyeceği için onlar orijinal HTML kodunun içine yerleştirilebilir. Tablonun pozisyonu da büyük ihtimalle değişmeyeceği için o da HTML dosyasına dahil edilebilir. Sayfaya ne kadar geri dönüp tekrar izlesenizde bunlar değişmeyecek olan değerlerdir.

Ancak tablonun içi alışveriş için kullanıcının ne seçtiğine bağlı olarak değişecektir. Siteye giren herkes değişik malzemeler seçebilir. Bunu gösterebilmek için ASP bilgileri bir database’den çeker ve kullanıcaya gönderilmeden önce bunları HTML kodunun içine gömer. Programcılar bu tür sayfaları “on the fly” olarak tanımlıyorlar çünkü gerçekte böyle bir sayfa yok. Bunun yerine gerektiğinde istek üzerine (on the fly) oluşturuluyor. ASP scripti statik sayfa elemanları ile database’den seçilen bilgileri birleştirerek safyanın tamamını oluşturur.

ASP’ Yİ GENİŞLETMEK İÇİN SCRIPT KULLANMAK

VBScript, JavaScript ve JScript bir HTML dosyasına eklendiğinde görüntü üzerinde değişikliklere olanak sağlayan scripting dilleridir. Bu diller genellikle client tarafında çalıştırılırlar yani başka bir deyişle kullanıcının browser’ı tarafından işletilirler.

Ancak bazı ciddi dezavantajları mevcuttur:

– Browser’a özeldirler. Yani aynı kod browser’a bağlı olarak farklı çalıştırılabilirler.

– Bir database ile ilişki (ürün kataloğu gibi) kuramazlar ve bilgi saklayamazlar.

Bu dezavantajlarına rağmen scripting dilleri kullanışlı olabilirler. Muhtmelen en iyi kullanılabilecekleri alan bilgi onaylamaktır (data validation). Mesela server’ a işleme konması için gönderilmeden önce bir giriş formu üzeinde eksik alan olup olmadığının kontrol edilmesi gibi. Bu gönder düğmesine basıldığı zaman çalışan bir script sayesinde gerçekleştirebilir. Fonksiyon formun bütün alanlarını kontrol edecek ve eğer bir alan boş bırakılmışsa kullanıcıyı bilgilendirecek şekilde bir hata mesajı gönderecektir.

Scriptler server tarafında da kullanılabilir ama genellile kullanıcı tarafında kullanılırlar. SCRIPT tag’ının bir özelliği sayesinde programcı kodun nerede çalışacağını tayin edebilir. Default olarak kod client tarafında işleme konur ancak bunu değiştirmek programcının elindedir.

COMPONENTLER VE OBJECTLER (BİLEŞENLER VE NESNELER)

Componentler ve objectler server’ın ortamı ve sistemi ile haberleşmek için kullanılan araçlardır. Bir component bir ya da birden fazla object’i içerebilir. Ve bir object de bir ya da daha fazla metod ve bir ya da daha fazla özellik (properties) içerebilir. (Metodları dilbilgisindeki fiiller özelikleri de sıfatlar olarak düşünebilirsiniz). Bir object’in bir örneğini (instance) yaratarak görevleri yapmak için metodlarını kullanabilirsiniz. Bir object’in özelliklerini değiştirmek metodlarının görevleri farklı icra etmesine sebep olur.

Bazı objectler ASP, bazıları VBScript ve bazıları da server sisteminin içine gömülmüştür. Bir uygulamayı daha rahat geliştirmek için başka componentler de yaratılabilir.

Ortak Componentler ve Objeler
Object / Component Fonksiyonu Kaynak
Request Object Browser’dan gelen istekleri düzenler ASP içine gömülmüş
Response Browser’a gönderilen bilgiyi düzenler ASP içine gömülmüş
Server Object Bazı temel server servislerine erişimi sağlar ASP içine gömülmüş
Application Object Bir uygulamanın yaşamı için bilgileri düzenler ASP içine gömülmüş
Session Object Bir session’ın yaşamı için bilgileri düzenler ASP içine gömülmüş
Text Object Text dosyalarını kullanır VBScript scripting object
Error Object Hata analizi sağlar VBScript scripting object
Dictionary Object Lookup referans oluşturur VBScript scripting object
File System Object Dosya sistemlerine erişim sağlar VBScript scripting object
Content Linking Sitedeki sayfalara bir düzen verir Server Component
Browser Capabilities Browser’ının ne yapabileceğini belirler Server Component
Ad Rotator Sayfa üzerinde bir noktada reklamları döndürür Server Component
Voting Kullanıcı havuzundan bilgi toplar Server Component
Active Database Bir database ile iletişim kurar Server Component

MUHTEMEL DEZAVANTAJLAR

ASP dinamik web içeriği için kuvvetli bir araç olmakla beraber diğer çözümler gibi onun da bazı dezavantajları mevcuttur. ASP sadece Windows NT ve 95 içinde çalışır. ASP kullanmak için bir Microsoft web server’ına (genellikle Internet Information Server) ihtiyaç duyulur. Diğer sunumcularda ASP için Chili!ASP adlı ürünü kullanmak gerekir. Ayrıca ASP cookie kullanmaktadır. Bu da Lynx kullanan kullanıcıların sayfalara erişememesi demektir. Gerçi günümüzde Lynx kullanan kullanıcıların sayısı oldukça az ve hedef kitlenin büyük bir kesimine hitap etmemektedir.

Durumunuza ve ihtiyaçlarınıza bağlı olarak ASP sizin için en iyi çözüm olabilir. ASP’nin piyasada şu an rekabet halinde bulunduğu diğer rakibinin adı Cold Fusion’dır. Allaire Grubu tarafından yaratılan Cold Fusion da sizin Access ve SQL Server gibi database’lere erişmenize olanak vermektedir. Bunun yanında Cold Fusion’ın tagları biraz kafa karıştırıcı ve hata ayıklaması biraz daha zor olabilir ve bazı kullanıcılar bellek problemleri ile karşılaşmışlardır

 

Mevcut teknolojiler

Başlangıçtan beri web sayfalarından veritabanına erişim için çeşitli standartlar ortaya çıkmıştır. Bu teknolojiler gün geçtikçe ilerlemekte ve daha kapasiteli hale gelmektedir. Yapısal olarak iki sınıfa ayırabiliriz.

  1. Push Web Page Teknolojisi:

Statik web sayfaları kullanıcının etkileşimi ile değişmezler. Statik web sayfaları push teknolojisi olarak bilinen bir teknoloji ile oluşturulur. Push web page teknolojisinde önce sayfalarınızı yaratırsınız. Daha sonra bunu webserver üzerindeki bir dizine yüklersiniz. Daha sonra web server bunları Statik web sayfası haline getirir. Eskiden beri birçok site bu yöntemle yaratılmıştır. Bu siteler dataya dinamik olarak erişime izin vermezler. Push teknolojisi yaygın olmasına rağmen hızla gelişen Pull teknolojisi yavaş yavaş onun yerini almaktadır.

  1. Pull Web Page Teknolojisi:

Pull teknolojileri SQL server’a yapılan bir query’nin karşılığı olarak dinamik olarak web sayfalarının inşa edilmesini sağlar. Bu query bir sorguyu oluşturan opsiyon kümesinden veya datayı güncelleyen standart Transact-SQL ifadeleri şeklinde olabilir. Bu erişim değişik teknikler sayesinde olur.

  1. Microsoft Internet Database Connector (IDC) dosyaları
  2. ActiveX Data Object (ADO)’lu Microsoft Active Server Pages (ASP)
  3. Microsoft Remote Data Services (RDS) (eski Advanced Data Connector-ADC)
  1. SQL Server’a Diğer Erişim Metodları:

Microsoft’un şu anki yaklaşımına göre en iyi erişim metodu ADO’dur. ADO, OLE-DB uyumlu veritabanlarını sorgulamak için kullanılan erişim metodur. Siz Active Server Pages (ASP) scriptlerinizi yazarsınız, bunlar Internet Information Server (IIS) 3.0 ve daha yukarısı versiyonlarında işlenir ve kullanıcının web browser’ına gönderilir. ADO’ya yapılan çağrılar Microsoft’un VBScript programlama dili gibi server-side script ile yazılır. Sonuç olarak kullanıcıya gönderilen normal HTML kodu olduğundan karşı tarafta herhangi bir web client kullanılabilir.

Veritabanlarına ADO ile erişim, IDC dosyaları kullanarak erişime oranla çok daha kuvvetlidir ancak bunun yanında bir o kadar daha kompleksdir. ADO database erişiminiz için kodlamayı ASP dosyaları içinde yapabilir veya SQL Server’ a çağrıda bulunan ayrı DLL’ler ve çalışabilir programlar şeklinde ActiveX kontrolleri yaratabilirsiniz. Bu ActiveX kontrolleri Microsoft Transaction Server’ın bir parçası olarak da çağırılabilir. Bütün bu teknolojileri ve beraber nasıl çalıştıklarını anlamak biraz zaman alabilir.

Son olarak; Microsoft Remote Data Services (RDS) olarak adlandırılan bir teknolojiye sahiptir. Bu teknoloji daha önce Advanced Data Connector (ADC) olarak biliniyordu. Bu teknoloji de veritabanlarını sorgulamak için ADO’yu kullanmaktadır ancak ActiveX kontrollerini kullanarak sizin client Web browserınız üzerinde çalışır. Bu yüzden Web browserınız ActiveX kontrollerini desteklemelidir.

Uygulama Ortamları ve Alternatifler

Web sayfanızı veritabanı ile ilişkilendirmek için bir çok alternatif vardır. Bunlar çok güçlü olmayan basit çözümlerden kullanılması güç olan çok kuvvetli araçlara kadar olan geniş bir yelpazeye sahiptir.

Şekil 2.1. Alternatiflerin karşılaştırılması

Yukarıdaki şekil iki koordinattan oluşmaktadır. Yatay eksen araçların özelliklerinin yeteneklerini alçaktan-yükseğe olacak şekilde derecelendirerek ölçmektedir. Dikey eksen kullanım kolaylığını gösterir ve alçaktan – yükseğe olacak şekilde derecelendirilmiştir. Her aracın matrixdeki pozisyonunu bulmak için iki eksende de karşılaştırılması yaparak değerlendirilmiştir. (Kaynak: Morrison M. “Special Edition Using Microsoft Visual Interdev” Macmillan Publishing, USA [1997]) Karşılaştırmadan da görebileceğiniz Visual Interdev .ok güçlü ve kullanımı kolay bir araçtır. Java programları ve appletleri platformlar arasında geçiş yapabilme özelliklerinden dolayı yetenek ekseninde Visual Interdev’den daha yüksek bir dereceye sahiptirler. Fakat aynı araçlar kullanım kolaylığı ekseninde ise Java programlama dilinin doğasından ötürü daha düşük değerler almaktadır.

Java, C++ benzeri bir dildir ve Visual Interdev ile karşılaştırıldığında çok kompleks kalmaktadır. Ayrıca Visual Interdev’de görsel olarak SQL sorgulamalarınızı oluşturabileceğinizden Visual Interdev’deki veritabanı araçlarının kullanımı çok kolaydır.

Visual Interdev hem web sayfası hemde uygulamalarımız için database çağrılarını oluşturmak amacıyla tek ortam sağlaması yeteneğiyle yüksek not almakatdır. IDC (Internet Database Connector) gibi daha önceki database çözümlerinde; SQL bilgilerinizi ve çağrılarınızı idare etmek için bir dosya ve HTML sayfası işlemek için ayrı bir dosya yaratmak gerekiyordu.

API, programlama yetenek ekseninde yüksek skorlar elde etmektedir ancak kullanılması diğer çözümlerden daha zordur. CGI sevenler ise karşılaştırma matrixinde CGI’ın derecesini görünce üzüleceklerdir. CGI veritabanı ilişkilendirme çözümü olarak kullanılmaya devam edecek ancak server bağlantılarının performansını arttıran API’lerin geliştirilmesi ve veritabanı uygulamamızı geliştirmek için harcadığımız süreye görsel araçların getirdiği kolaylıkların eklenmesinden sonra, CGI artık eski bir teknoloji sayılacaktır.

VISUAL INTERDEV

Visual Interdev’i diğer database bağlantı araçları ile karşılaştırdıktan sonra şimdi de Visual Interdev’in içerdiği bazı spesifik özelliklerden bahsedelim. Uygulamınızı geliştirmek için tam bir geliştirme ortamına sahip olmanın getirdiği avantajlar küçümsenemez. Yukarıda web-database bağlantı karşılaştırma matrixinde belirtilen bazı araçlara tanıdık olabilirsiniz. Bu çözümlerin bir çoğunda database bağlantısı sağlamak için ayrı geliştirme ortamı ve araçları kullanmak zorunda kalırsınız. Visual Interdev aşağıdaki özellikleri ve avantajları içeren tam bir geliştirme ortamı sunmaktadır :

  1. Kullanım Kolaylığı

Visual Interdev bir çok veritabanı aracını bütünleşik bir çatı altında toplayan benzersiz bir ortam sunmaktadır. Bundan dolayı Visual Interdev’in kullanımı çok kolaydır. Veritabanı bağlantınızı SQL çağrılarınızı ve HTML web sayfalarınızı oluşturmak için farklı araçlar ve ortamlar arasında geçiş yapmanız gerekmemektedir. Ayrıca Visual Interdev web sayfalarınıza database fonksiyonelliği ekleme süreci esnasında size toolbar’ lar ve menu optionlarla rehberlik etmektedir.

  1. Görsel Ortam

Adından da anlaşılacağı gibi Visual Interdev uygulamalarınızı oluşturmak için size görsel bir ortam sağlar. Bu görsel ortam Visual Data Tool’ larını içermektedir. Bu araçlar SQL ifadelerinizi görsel olarak oluşturmanıza ve anında test etmenize imkan tanımaktadır. Sorgulamanızı oluşturabilmek için SQL detaylarını bilmenize hiç gerek yoktur. Kuvvetli SQL programcıları içinse araçların doğal görsel ortamı onların rutin sorgulamaları yazarken kaybettikleri zamandan tasarruf edip bu kazanılan zamanı daha kompleks SQL sorgusu yazarken harcamaya fırsat tanıyacaktır.

  1. RAD (Rapid Application Development)

Visual Interdev uygulamanızda hızlıca database ilişkisi oluşturmanızı sağlayan görsel bir ortam sağlar. Modern çağın gereksinimi olarak her zaman anında bilgiye ihtiyaç duyulmaktadır. Visual Interdev hem PC masaüstü hemde server databaselerinin her ikisini de destekleyerek RAD’ın arkasındaki teoriyi desteklemektedir. Database araçları uygulamanızı MS SQL Server gibi daha güçlü database programlarına geçirirken de kullanabileceğiniz ODBC uyumlu SQL çağrıları oluşturmanıza olanak verir.

  1. Etkinlik

Buraya kadar Visual Interdev’in sağladığı kolaylıklardan bahsettik. Bazıları bu kadar kolaylık sağlayan bir uygulamanın çok kuvvetli olamayacağını düşünebilir. Ancak Visual Interdev dünyanın en iyi kolaylık ve kuvvetlilik desteğini vermektedir. Visual Interdev ortamında kompleks SQL programlayabilirsiniz. Visual Interdev, Microsoft SQL Server, Oracle, Sybase, Informix, IBM DB/2, Microsoft Access, FoxPro, Paradox gibi ODBC uyumlu bütün veritabanlarını desteklemektir.

ACTIVEX DATA OBJECT (ADO)

ADO bütün Visual Interdev araçları için veritabanı erişimi sağlar. Web sayfalarınızla database ilişkisi kurmak için ADO temel modeli oluşturmaktadır. ADO web sayfalarınız ile herhangi bir ODBC uyumlu database arasında bağlantıyı sağlar. ADO modelinin ana faydası düşük memory overheadi ve yüksek sürattir ki bu da Web temelli uygulamalar için idealdir.

ADO, veri kaynağına erişimi sağlamayabilmeniz için ActiveX script kullanmanıza izin verir. Ayrıca ActiveX scripti bir ADO’nun özelliklerini ve metodlarını değiştirmek içinde kullanabilirsiniz. ADO, resimleri ve büyük binary nesneleri (BLOB) de içeren değişik veri tiplerini desteklemektedir. ADO transactionları, cursorları, hata yönetimini ve veritabanı içinde oluşturulmuş Stored Procedure‘ lerin kullanımını destekler.

Microsoft, ADO’yu web sayfalarınızdan bir veritabanına erişmek için dilden bağımsız objeler olması için yarattı. ADO, Microsoft’un OLE database modelinin üzerine inşa edildi. DAO (Data Access Object) ve RDO (Remote Data Objects)’ya aşikar olan Visual Basic programcıları Microsoft’un kısaltmaları birleştirip harflerle oynadıgını düşünebilir. ADO hem RDO’dan hem de DAO’dan daha üstündür. ADO daha önceki veri erişim metodlarını nesneye yönelik bir standartla birleştirirken RDO ve DAO’nun özelliklerini de içermekte ve OLE modelini kullanarak İnternet için veri erişimi sağlama yeteneğini arttırmaktadır.

DAO (Data Access Object) ilk olarak Microsoft Visual Basic ve Microsoft Access’in önceki versiyolarında bulunuyordu. DAO bir objenin kapsamı içerisinde database fonksiyonlarını ve işlemlerini birleştirmek için geliştirildi. DAO ODBC-uyumlu databaselere erişimi sağlamaktadır.

RDO ise DAO’dan daha üstündü ve Visual Basic 4’ün içine koyulmuştu. RDO ODBC-uyumlu databaselere erişim için daha iyi bir çözümdü ve bu objelerin server’a olan erişimlerini arttırmıştı. Bu iki metodun üzerine ADO’nun avantajı bağımsız olarak objeleri yaratabilmenizdir. Hem RDO hem de DAO’da objeler için bir hiyerarşi yaratmak zorundaydınız. Ayrıca ADO bu metodlara oranla daha hızlı ve daha etkindir.

OLE DB’nin arkasındaki fikir remote objectleri sanki local’miş gibi gösteren bir nesne temelli arayüz sağlamaktır. Amaç uzaktaki server makinada ya da kendi makinanızda bulunan yardımcı objeler sayesinde database erişiminizi sağlayabilmenizdir.

Şekil 2.2 SQL Server veritabanına erişim

Yukarıdaki şekilde ADO ve OLE-DB’ nin birlikte Microsoft SQL Server database’ine erişim sağlamak için nasıl çalıştıklarını görüyoruz. ADO web server üzerinde ASP içinde yer alır. Browser database bilgisi için istek gönderdiğinde ASP çağrılır ve ADO OLE DB aracılığıyla isteği database server’a gönderir. MSDA SQL spesifik bir SQL dilidir ve Microsoft Access ve Microsoft SQL Server kendi veri kaynakları ile haberleşmede kullanımı desteklemektedir. ODBC sürücüsü her database için MSDA SQL’i spesifik bir dile çevirir. Daha sonra bu bilgi bu hat boyunca ilerler. ASP ve ADO sonuçları düzenleyip browser’a geri göndermek için beraber çalışırlar.

ADO’nun nesne-temelli bir çözüm olduğundan bahsetmiştik. ADO modelinde 7 ana nesne mevcuttur :

– Connection Object

– Command Object

– Recordset Object

– Field Object

– Parameter Object

– Property Object

– Error Object

Bu modelde Connection objectinin temel object olduğunu görüyoruz. Modeldeki diğer bütün objectler Connection objectine bağlıdır. Veritabanına bir bağlantı olmadan diğer nesneler varolamayacağından bu hiyerarşi önemlidir. Oluşturulan yeni bir Recordset’i mutlaka daha önce tanımlanmış bir Connection objesinin altına koymak yerine, yeni bir Connection yaratarak onun altında oluşturmak mümkündür. ADO modelinin bu yapısal doğası kodun daha düzenli olmasına katkıda bulunur.

Connection Object

Database ile olan bağlantınızı kontrol eder. Bağlantı ile ilgili bütün bilgiler bu object sayesinde sağlanır. Connection Objectinin timeout gibi özelliklerini değiştirebilirsiniz. Database ile olan bağlantıyı açıp kapatabilir ve transaction özelliklerini düzenleyebilir.

Command Object

Command objecti database üzerinde çalıştıracağınız spesifik bir komutu tanımlamanızı sağlar. Mesela Command objesini bir stored procedure’ü çağırmak için kullanabilirsiniz. Command Objectini daha önce yaratılmış bir connection objesi ile ilişki kurarak oluşturmak zorunda değilsiniz. Bu ADO’nun diğer database iletişim metodlarından farkıdır. Komutlarınız için object hiyerarşisini kullanmak zorunda değilsiniz.Yine de aynı database bağlantısı üzerinde bir çok komut çalıltıracaksanız, objelerinizi bir hiyerarşi altında düzenlemek daha doğru olur.

Recordset Object

Bu object sayesinde kayıtları ya da database tablosundaki satırları düzenleyebilirsiniz. Bir recordset bir temel tablodaki bütün satırları tutabilir veya bir sorgulamanın sonuç kümesinden de oluşabilir. Recordset objecti hem anında hem de toptan güncellemeleri destekler.

Recordset objecti veritabanının desteklediği değişik tipte cursorler kullanmanıza izin verir. Cursor veritabanında nerede olduğunuzu ve nereye gideceğinizi belirtir. Bazı cursorler:

Dynamic : Diğer kullanıcılar tarafından yapılan silme, değişiklik ve eklemeleri gösterir.
Keyset : Değişiklikleri gösterir ama eklemeleri ve silmeleri göstermez.
Static : Datanın bir kopyasını gösterir. Değişiklikleri, silmeleri ve eklemeleri göremezsiniz.
Forward-only: Static ile aynı tablo içinde sadece ileri doğru ilerleyebilirsiniz.

Field Object

Field objecti recordset içerisindeki özel bir sütun ile ilgilidir.

Parameter Object

Paramater objectini bir veritabanına karşı komut işletirken parametre tanımlamak maksadı ile kullanabiliriz. Mesela bu objeyi database üzerindeki bir stored procedure’e geçirilen parametrelerin değerlerini ayarlamak için kullanabiliriz. Bu object genelde Command Object ile beraber kullanılır.

Property Object

Property objecti dataya erişimi ve sorgulamayı sağlayan özel servisleri gerçekleştiren ve servis sağlayıcı tarafından belirlenen spesifik özellikleri yakalar. OLE DB servis sağlayıcılarını, ActiveX Data Object’e ek karakteristikler ve özellikler sunmak üzere ayarlayabilir, daha sonra bu özellikleri uygulamanızın kapasitesini arttırmak için kullanabilirsiniz. Örneğin Property Objectini bir servis sağlayıcısının transactionları destekleyip desteklemediğini anlamak için kullanabilirsiniz.

Error Object

Error objecti veritabanı tarafından üretilen hata mesajlarını toplar. Bir veritabanı fonksiyonunu gerçekleştirmeye çalışırken oluşan herhangi bir hata bu object içinde tutulur.

ODBC Data Source Name (DSN)

Open Database Connectivity yani ODBC veritabanına erişimi sağlayan bir standarttır. Oracle, SQL Server, Sybase, Interbase, Paradox gibi bir çok veritabanı sistemine erişimi sağlar. NT işletim sisteminde DSN tanımlayarak veritabanlarına ulaşılabilir. Bu Delphi’ de Borland Database Engine için Alias tanımlamaya benzer.

  1. File Data Source

Bir File DSN belirli bir bilgisayar dahilinde dosya temelli bir bağlantı kurulmasını sağlar. Ve bu bağlantı bir çok kullanıcı tarafından paylaşılabilir. Dosya temelli bağlantıdan kastedilen bir veritabanına bağlanırken gerekli olan bilgilerin bir .dsn dosyasında saklanıyor olmasıdır. Bu bilgisayarda veritabanına bağlanabilmek için ODBC driver yüklemiş olmanız gerekmektedir. Uygulama için veritabanı bağlantısı gerçekleştirildiğinde .dsn dosyasındaki bilgi global.asa dosyasındaki bağlantı stringinin içine eklenir.

File DSN bazen DSN-less bağlantı olarak adlandırılır çünkü bağlantı bilgisi başka herhangi bir yerde değil projenizin içinde saklıdır. File DSN taşınabilirlik özelliğinden dolayı tercih edilmektedir. Uygulamanızı taşıdığınızda ek olarak bir DSN dosyası da kopyalamak ya da yaratmak zorunda değilsiniz.

  1. Machine Data Source:

İki tip Machine Data Source oluşturulabilir. Birincisi User DSN olarak adlandırılır. Bu tip DSN’ler sadece belirtilen kullanıcılar tarafından kullanılabilir ve makineye özeldir. System DSN ise diğer Machine Datasource tipidir. Bir System DSN’i de makineye özeldir ancak bir çok kullanıcı tarafından kullanılabilir, yani kullanıcıya özel değildir. Bu bilgiler Windows Registry’sinde saklanır ve eğer uygulama başka bir makineye taşınacaksa bu bilgilerde geçirilmelidir. Genellikle File DSN tercih edilir çünkü her kullanıcı için ayrı bir dsn kurulmak zorunda değildir. Machine Datasource makineye özel tanımlandığından uygulama başka bir platforma taşındığı için yeniden tanımlanmak zorundadır

 

 

Yazı dizimize :Request objesinin Property leri ,RESPONSE OBJECT, Response objesinin Property leri, RESPONSE Objesinin Metodları konuları ile devam ediyoruz.

Request objesinin Property leri

Totalbytes:clientın gonderdigi istemin body kısmında  gonderilen verilerin toplam uzunlugunu belirtir.

Syntax

Counter = Request.TotalBytes

Request objesinin Metodları

Binaryread:POST ile clienttan server’a gönderilmiş veri.Bu veriler SafeArray de tutulur.SafeArray de tutulan bilginin boyutlarıda tutulur.

Syntax

variant = Request.BinaryRead(count)

parametreler:

variant: VT_ARRAY veya VT_UI1 tipinde unsigned bitlerden oluşan bir dizi

count:  client taraftn gelen bilginin okunabilen kısmının uzunlugunu belirtir.

Request.form ile Binaryread aynı sayfa uzerinde çağrılamaz.

RESPONSE OBJECT

Client tarafa çıktı göndermek için kullanılır.

Response objesine ait kolleksiyonlar

Cookies:cookielere değer atamak için kullanılır.Boyle bir cookie yoksa once oluşturulur.

Varsa yeni değer atanır.

Syntax

Response.Cookies(cookie)[(key)|.attribute] = value

Parametreler

cookie :cookie’nin adı

key :opsiyonel bir parametredir. key belirtilmişse , cookie bir dictionary’dir, ve  key ‘e değer atanır

attribute

cookie hakkındaki bilgileri tutar buna ait parametreler aşağıdakilerdir:

Domain :Write-only.eğer belirtilmişse cookie yalnızca bu parametre ile belirtilen değerdeki domainlere gonderilir.

Expires :Write-only. cookienin kullanımdan kalktığı tarih.bir değer belirtilmemişse cookie session sonuna kadar geçerli olur.

HasKeys :Read-only. cookienin key’ e sahip olup olmadığını belirtir.

Path  :Write-only. Belirtildiği takdirde cookie sadece bu pathdeki istemelre gonderilir. belirtilmemiş ise uygulama path ‘i kullanılır.

Secure :Write-only. cookienin guvenli olup olmadıgını belirler.

Value :key yada attribute’a atanan değer

Şu şekilde bir cookie oluşturulursa

<% Response.Cookies(“mycookie”)(“type1”) = “sugar”   Response.Cookies(“mycookie”)(“type2”) = “ginger snap”%>

Headerda su bilgiler yer alır

Set-Cookie:MYCOOKIE=TYPE1=sugar&TYPE2=ginger+snap

Ornekler

<%   For Each cookie in Response.Cookies    Response.Cookie(cookie).ExpiresAbsolute = #July 4, 1997#  Next%>

 

<%  Response.Cookies(“Type”) = “Chocolate Chip”  Response.Cookies(“Type”).ExpiresAbsolute = “July 31, 2001”  Response.Cookies(“Type”).Path = “/”%>

Response objesinin Property leri

  • Buffer
  • CacheControl
  • Charset
  • ContentType
  • Expires
  • ExpiresAbsolute
  • IsClientConnected
  • Pics
  • Status

1-Buffer:sayfanın tamponlanıp tamponlanmayacağını belirtir.Eğer sayfa tamponlanırsa server tum  scriptlerin çalışması bitmeden yada flush yada end çağrılana kadar client tarafa veri gondermez.Buffer server clienta veri gonderdikten sonra atanmaz.Bu yuzden asp dosyasının ilk satırında belirtilmelidir.

Syntax

Response.Buffer [= flag]

 

Parametreler

flag :true yada false değerini alır.true ise tamponlama  yapılır false ise yapılmaz.

2-CacheControl

CacheControl ozelliği Private default değeri dikkate almaz.Bu değeri Public yaptığınız zaman,proxy serverlar ASP tarafından olusturulan çıktıyı cache’e atabilirler

Syntax

Response.CacheControl [= Cache Control Header ]

Parametreler:

Cache Control Header :public yada private değerlerini alabilir.

3-Charset:response objesindeki content-type headerına character setini  (örneğin, ISO-LATIN-7) atar.

Syntax

Response.Charset(CharsetName)

Parametreler

CharsetName karakter setini bwlirleyen string

Örneğin;

the Response.Charset özelliği içermeyen bir asp sayfasındacontent-type su şekilde   olacaktır:

content-type:text/html

su satır eklenirse

<% Response.Charset= “ISO-LATIN-7” %>

content-type başlığı şu şekilde olacaktır:

content-type:text/html; charset=ISO-LATIN-7

4-ContentType

default değeri text/HTML.

Syntax

Response.ContentType [= ContentType ]

 

Parameters

ContentType :type/subtype şeklinde belirtilir.

örnek

aşağıdaki örnek content type ‘ı  Channel Definition Format (CDF) formatına çevirir

<% Response.ContentType = “application/x-cdf” %>

sık kullanılan diğer değerler

<% Response.ContentType = “text/HTML” %><% Response.ContentType = “image/GIF” %><% Response.ContentType = “image/JPEG” %><% Response.ContentType = “text/plain” %><% Response.ContentType = “image/JPEG” %>

5-Expires:

sayfanın cache’e atılmadan ne kadar sure kalabileceğini belirtir.eğer bir sayfa expire olmadan kullanıcı aynı sayfaya donerse cache’e atılan sayfa gosterilir.

Syntax

Response.Expires [= number]

 

Parametreler

number :dakika

.asp dosyanız Response.Expires’ı cağırdığı zaman, IIS serverın saatini beliten bir HTTP başlığı oluşturur. client tarafın sistem saati server saatinden daha erken ise (farklı yerlerde olabileceklerinden) parametrenin değerin, 0 yapmak sayfanın expire olmasında hic bir etki göstermeyecektir.  Response.ExpiresAbsolute’i kullanmalısınız.Ek olarak expires ozelliği için negatif bir sayı kullanabilirsiniz

<%Response.Expires = -1 %>

response hemen expire olacaktır

eğer bir sayfa uzerinde birden çok response.expires kullaılmışsa server bunlardan  en kısa zamana sahip olanı değerlendirecektir.

6-ExpiresAbsolute

ExpiresAbsolute ozelliği browserda cache’e atılan bir sayfanın ne zaman expireolacağı bilgisini saat ve zaman cinsinden belirtir.tarih belirtilmemişse sayfa scriptin çalıştığı günün gece yarısı expire olur.

Syntax

Response.ExpiresAbsolute [= [date] [time]]

Parameters

date :RFC-1123 formatında tarih bilgisi

saat:Expires başlığı gönderilmeden önce bu değer  GMT ye çevrilir.

ExpiresAbsolute birden cok kez kullanılmışsa en erken tarih bilgisine sahip olanı server tarafından değerlendilir.

örnek

<% Response.ExpiresAbsolute=#May 31,2001 13:30:15# %>

7-IsClientConnected

client’ın serverdan bağlantısını kesip kesmediği bilgisini tutar.

Syntax

Response.IsClientConnected ( )

Örnek

<%  If Not Response.IsClientConnected Then     Shutdownid = Session.SessionID    Shutdown(Shutdownid)   End If%>

8-PICS

pics-label response header’ına değer ataması yapar.

Syntax

Response.PICS(PICSLabel)

Parameters

PICSLabel

Örnek

<% Response.PICS(“(PICS-1.1 <http://www.rsac.org/ratingv01.html> labels on ” & chr(34) & “1997.01.05T08:15-0500″ & chr(34) & ” until” & chr(34) & “1999.12.31T23:59-0000″ & chr(34) & ” ratings (v 0 s 0 l 0 n 0))”)%>

satırını içeren asp dosyasına su header eklenmş olur

PICS-label:(PICS-1.1 <http://www.rsac.org/ratingv01.html> labels on “1997.01.05T08:15-0500” until “1999.12.31T23:59-0000” ratings (v 0 s 0 l 0 n 0))

9-Status

Status property serverden gelen status line değeridir. Status değerleri HTTP olarak tanımlanırlar.

Syntax

Response.Status = StatusDescription

Parameters

StatusDescription :3 dijitlik status kodunu ve bu koda ati kısa  bir açıklamayı içeren bir string değerdir.örneğin 310 Move Permanently.

Örnek:

<% Response.Status = “401 Unauthorized” %>

RESPONSE Objesinin Metodları

1-AddHeader

AddHeader metodu bir HTML başlığı ekler.Bu metod her zaman yeni bir başlık ekler yani olan bir başlık ile yer değiştirmez. Eklenen bir başlık bir daha kaldırılamaz

Syntax

Response.AddHeader name, value

 

Parameters

name :yeni başlık değişkenin adı.

value :başlıkta  tutulan değer

Bir ad karmaşasını engellemek icin name parametresi altçizgi ( _ ) içermemelidir. Server.varibles kolleksiyonu başlıklar içinde bu karakteri tire ( – ) olarak algılar.

<% Request.ServerVariables(“HTTP_MY_HEADER”) %>

Scripti ile server MY-HEADER isimli bir başlık arar.

HTML ifadelerde başlıklar içerikten once yer alması gerktiğinden addheader content gonderilmeden once yani .asp dosyanız bir çıktı uretmeden once yer almalıdır.Bunun için flush metodu  kullanılabilir.

<HTML>Here’s some text on your Web page.<% Response.AddHeader “WARNING”, “Error Message Text” %> Here’s some more interesting and illuminating text.<% Response.Flush %> <% Response.Write(“some string”) %> </HTML>

Örnek

<% Response.Addheader “WWW-Authenticate”, “BASIC” %>

2-AppendToLog

web serverinizin loglarına yeni bir string ekler.sayfanız icinde bir cok kez cağiridiginizda her seferinde yeni bir string ekleyecektir.

Syntax

Response.AppendToLog string

Parametreler:

string :Eklenecek text.loglarda ifadeler ( , )(virgul)lerle ayrıldıgından text parametresi virgul içermemelidir.

Örnek

<% Response.AddToLog “My custom log message” %>

3-BinaryWrite

karakter donuşümü yapılmaksızın bilgileri HTTP çıktısına yazar.belli uygulamalarda kullanılmak uzere binary data gibi  non-string ifadelerle çalışıyorsanız yaralı bir  metod olabilir.

Syntax

Response.BinaryWrite data

Parameters

data:HTTP çıktısına yazılacak olan data.bu veri VT_ARRAY yada VT_UI1 tipinde olabilir.

Örnek

<%  Set objBinaryGen = Server.CreateObject(“MyComponents.BinaryGenerator”)  vntPicture = objBinaryGen.MakePicture  Response.BinaryWrite vntPicture%>

4-Clear

tamponlanmış tüm HTML çıktılarını siler.Bu method sadece body kısmını silebilir headerları silemez.Response.buffer özelliği true ise bu methodun kullanılması run-time error oluşturur.

Syntax

Response.Clear

5-End

web serverin scripti çalıştırmasını  dururur ve o zamana  kadar uretilen sonuçları client taraf gonderir.

Syntax

Response.End

 

eğer  Response.Buffer özelliği TRUE yapılmışsa , Response.End ‘in kullanılması tamponlanmış veriyi gonderir. eğer kullanıcıya veri gitmesini istemiyorsanız,önce Response.Clear metodunu kullanmalısınız

<%   Response.Clear  Response.End%>

6-Flush:

tamponlanmış veriyi hemen kullanıcıya gonderir.Eğer Response.buffer ozelliği TRUE  ise hata oluşur

Syntax

Response.flush

7-Redirect

browseri baska bir url ye gonderir

Syntax

Response.Redirect URL

Parametreler

URL :(Uniform Resource Locator) yonlendirilen yer

 

Redirect metodu kullanıldığı zaman şu başlık eklenir:

HTTP 1.0 302 Object MovedLocation URL 

<% Response.Redirect “http://www.microsoft.com” %>

8-Write

belirtilen yazıyı HTTP çıktısına ekler

Syntax

Response.Write variant

Parametreler

variant :yazılacak veri. Asp tagi yazmak için “%\>” yazılmalıdır.

Ornekler

I just want to say <% Response.Write “Hello World.” %>Your name is: <% Response.Write Request.Form(“name”) %>

 

<% Response.Write “<TABLE WIDTH = 100%\>” %>