Programalama > ASP

Etiketler: her, seyiyle, server, nesnesi

Ort. 0
Puan ver:
Server Nesnesi: 

Request nesnesi ile ASP programcıklarımıza veri girişi (gönderimi) yaptık. Response nesnesi ile programdan veri çıktısı aldık. Peki bu verilerimizi işlerken server hep sabit mi çalışacak. Tabiki hayır. ASP nin dinamik yapısı nedeniyle server üzerinde yapılan işlemler belirli parametrelerle tanımlanabilir. İşte bu tanımlamaları yapabilmek için server nesnesi kullanılır. 


Unutulmaması gereken en önemli nokta server nesnesi ile request nesnesinin bir özelliği olan servervariables özelliğinini karıştırılmamasıdır. Servervariables özelliği sadece server ile ilgili değişkenlerin alınabileceği bir özellikdir (sadece okunabilir / read only). Fakat server nesnesi serverın ASP programcıklarını yorumlarken kullanacağı parametreleri ayarlayabilen bir nesnedir. 


Server nesnesinin toplam 5 adet özelliği vardır. Bunlar; 


1.      ScriptTimeOut 

2.      CreateObject 

3.      MapPath 

4.      HTMLEncode 

5.      URLEncode 


ScriptTimeOut: 

Türkçesi “zaman aşım süresi” olan bu komut yardımıyla ASP’nin dinamik olarak oluşturduğu HTML sayfalarının maksimum oluşturulma süresi ayarlanabilir. 


Bir ASP scriptinin dinamik olarak bir HTML sayfasını oluşturma hızı tamamen ASP içerisindeki işlem yoğunluğuna bağlıdır. Örneğin içerisinde birçok birbiri içine geçmiş döngü olan bir script tamamen saf bir scriptden çok daha yavaş işlenerek istemciye gönderilecektir. 


Bu özellik hem okunabilir hemde yazılabilir bir özelliktir. Bu yazılabilme ve okunabilme deyimleri ileride sıksık karşımıza çıkacaktır. Bunu şu şekilde açıklayabiliriz: okunabilme özelliği bir nesnenin bir metodunu kullanırken o metoddan değer alabileceğimiz anlamına gelir. Bir örnekle açıklarsak; 

 <% 

A = Nesne(1).Metod(1) 

%> 
 


Bu örnekte “A” değişkenimize “Nesne(1)” nesnesinin “Metod(1)” metodundan geri dönen değeri atadık. 


Yazılabilme özelliği ise bir nesnenin bir metoduna değer verebilme özelliğidir. Örnekle açıklamak gerekirse; 


<% 

Nesne(2).Metod(2) = “B” 

%> 
 


Bu kullanım tarzını derslerimize ilk başladığımız sıralarda anlatmıştık. Eşitliğin sol tarafı her zaman kaynağı vermektedir. Sağ taraf ise her zaman hedefi verir. Örneğimizde “Nesne(2)” nesnesinin “Metod(2)” metoduna “B” değerini vermiş bulunuyoruz. Bu iki özelliği aynı anda da kullanabilmekteyiz. Yani bir nesne hem yazılabilir hemde okunabilir olmaktadır. 


Bu kadar teorik bilgi verdikten sonra server nesnesinin scripttimeout özelliğine geçebiliriz. 


Scripttimeout özelliğini okuma amaçlı kullanırken; bu özelliğin o andaki değerinin kaç olduğunu öğrenebiliriz. Burada adı geçen değerin birimi saniyedir yani timeout olayı saniyelerle ölçülür. Okuma özelliğine örnek verecek olursak; 


<% 

STO = Server.ScriptTimeOut 

Response.Write STO 

%> 
 


Bu kullanım şekli ile ekrana o anda ayarlı olan timeout değeri dönecektir. Örneğimizde bu değer “90” olarak bulunmuştur. 


Not: TimeOut değeri herhangi bir ayar yapılmamış ise geçerli değer olarak 90 alacaktır. 


ScriptTimeOut özelliğini ayarlamak ve yeni bir değer vermek istersek bunu nesnenin yazılma özelliği yardımı ile yapacağız. Örneğin; 


<% 

Server.ScriptTimeOut = 60 

%> 
 


Bu şekildeki bir kullanım ile scriptimizin timeout süresini 60 saniye olarak ayarlamış bulunuyoruz. Yani bir diğer değişle scriptimiz 60 saniye içerisinde bir HTML kodu üretemez ise server otomatik olarak işlemi sonlandırarak hata verecektir. 


CreateObject: 

Sunucuya yüklenen her komponent için bir PROGID (GUID) belirleyici vardır. Bu numara komponenti refere eder. Bu numara yardımı ile komponenti ASP içerisinde kullanılabilen bir nesne olarak tanımlayabiliriz. İşte bu işlem için Server nesnesinin Create Object özelliğindne faydalanabiliriz. 


Bizim burada anlatdığımız nesnelerin dışında piyasada kullanılan ve bir çok değişik işlemi gerçekleştiren komponent mevcutdur. Bu komponentleri ASP içerisinde direkt olarak kullanabilmemiz için ilk olarak tanımlamamız gerekir. Server createobject bu işlemi yapan komutdur. 


Kullanımı oldukça basit olan bu özellik yardımı ile kendi nesnelerimizi tanımlayabilir ve kullanabiliriz. Örneğin; 


<% 

Set Nesne = Server.CreateObject 

(“Akkoyun.Web”) 

%> 
 


Bu şekilde “Akkoyun.Web” Nesnesini “Nesne” ismi ile tanımlamış bulunuyoruz bu tanımlama işleminden sonra nesne özelliklerini yine herzamanki gibi kullanabilirsiniz. Örneğin; 


<% 

Nesne.Metod = “Deneme” 

%> 
 


Yukarıda createobject ile tanımladığımız “Nesne” isimli nesnemizin bir metodunu kullandık. 


İleriki derslerimizde nesne yazmayı (COM,DCOM ve XML Servlet) öğreteceğiz ama vakti gelince. 


MapPath: 

Server nesnesinin MapPath metodunu kullanarak, dosyaların konum bilgisini scriptlerimizde kullanabiliriz. Amacı, mantıksal (sanal) yol bilgisini bir istemci tarayıcısı için kullanılabilir hale, yani sunucudaki fiziksel yola uygun hale getirmektir. Aşağıdaki örnekte olduğu gibi, root dizininden hangi sanak dizine dallanacağını  gösterilebilir. 


<% 

‘Sanal Dizin /Akkoyun Olsun 

Dim Fiziksel 

Fiziksel = Server.Mappath(“/Akkoyun”) 

%> 
 


“Fiziksel” değişkeni içerisindeki gerçek yol bilgisi, c:\inetpub\wwwroot\akkoyun olacaktır. 


Mappath metodu sunucu üzerinde o dizinin var olup olmadığını satayamaz. 


HTMLEncode: 

Normal şartlar altında bir web sayfasında “<Table>” yazdırmak bir hayli zordur çünkü server bu komutu bir HTML tagı olarak yorumlar ve derlemede işletir. Halbuki biz bu tagı sunucuya göstermek istiyoruz. 


İşte bu noktada HTMLEncode metodu devreye girer. Bu metod yardımı ile kullanıcının görmesini istediğimiz tag, komut yada özel sembolleri kullanıcıya direkt olarak gösterebiliriz. Kullanımı yine herzamanki gibi oldukça kolaydır.  

<% 

Response.Write( 

      Server.HTMLEncode 

      (“<%=now%>”) 

) 

%> 
 


Yukarıdaki örnekte görüldüğü gibi kullanıcı ekranında “<%=now%>” şeklinde bir çıktı almış olacağız. 


URLEncode: 

URLEncode metodu HTMLEncode metoduyla benzerdir. Fakat, bir bilgiyi alır ve URLEncoded hale dönüştürür. Tüm boşluklar + işareti ile değiştirilir vediğer işaretler ise % işareti ile başlayan onaltılık düzendeki ANSI eşdeğerleri ile değiştirilirler. URLEncode metodunun amacı, kodumuzda hiperlink bağlantıları oluşturacaksak bunların doğru formatta olduğunu garantilemektir. Aşağıdaki örnekte bu özelliğin nasıl kullanıldığını görebilirsiniz. 


<A HREF=”Test.asp?ID= 

<% 

Server.URLEncode(“33%”) 

%> 

33% </A> 
 

 

Tablo-1 de ANSI standartlarında decimal değerlere karşılık gelen karakterler bulunmaktadır. Bu tablonun kullanılış biçimi şu şekildedir. Kullanacağınız karakterin bulunduğu sütündaki değer ile bulunduğu satırdaki değeri toplayarak bunu “%” işareti ile belirtmektir. Örneğin; 


Ò sembolünü kullanmak istiyorsanız bulunduğu stündaki değere (160) bulunduğu satırdaki değeri (14) ekleyerek ulaşabilirsiniz (174). Bu kodu ise “0174%” şeklinde urlencoded yapabilirsiniz.   

ANSI kodlarının toplam 4 basamaktan oluşması gerektiğini unutmayın ve değer eğer 4 basamaktan küçük ise sol tarafına 4 basamak oluncaya kadar sıfır koyunuz. 


Bu kodları ALT+ şeklinde kullanabilirsiniz. ALT tuşuna basılı tutarken “0033” rakamlarını kodlamanız durumunda ANSI karşılığı olan “!” sembolunu elde edersiniz.  

Gelecek makalede buluşmak üzere herkese çalışmalar. 

Faydalanılan Kaynak: M. G. Akkoyun - ASPNedir


Yorumlar                 Yorum Yaz
Bu hazır kod'a ilk yorumu siz yapın!
KATEGORİLER
ASP - 240
ASP.NET - 24
C# - 75
C++ - 174
CGI - 8
DELPHI - 247
FLASH - 49
HTML - 536
PASCAL - 246
PERL - 11
PHP - 160
WML - 9
XML - 2
Copyright © 2002 - 2024 Hazır Kod - Tüm Hakları Saklıdır.
Siteden yararlanırken gizlilik ilkelerini okumanızı tavsiye ederiz.
hazirkod.com bir İSOBİL projesidir.