Klasik ASP sunucu nesneleri ve metodları

Klasik ASP sunucu nesnelerinden server ve response nesnelerinin metodları

Response Nesnesin metodları

AddHeader

HTTP başlık(header) bilgisine başlık bilgisi ekler, önceki bilgileri değiştirmek için kullanılamaz.
Başlık bilgisi, bir kere eklendi mi silinemez. Başlık bilgisi sayfanın içeriğinden önce gönderilir bu yüzden
ya başlık bilgisini içerikten önce göndermelisiniz,
yada sayfayı tampon belleğe almalısınız
response.addheader   isim, değer

isim : değer :

response.addheader “DURUM”, “Normal”
Header bilgileri aşağıdaki gibi olabilir.
Mavi olan kısım AddHeader yöntemiyle eklenmiştir.

HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Wed, 23 Jan 2002 20:08:35 GMT
DURUM: Normal
Connection: Keep-Alive
Content-Length: 6511
Content-Type: text/html
Set-Cookie: ASPSESSIONIDFFFECYZT=AMKNPCIDNEBALCJCBIHDNBID; path=/
Cache-control: private

AppendToLog

sunucu günlüğüne (server log) kayıt edilecek satıra metin ekler

response.AppendToLog   metin

metin :
günlük dosyasına eklenecek metin

ASP kodu
response.appendtolog “deneme”

günlük kaydına aşağıdaki gibi olabilir. 127.0.0.1 – – [23/Jan/2002:21:45:51 +0200] “GET / deneme HTTP/1.1” 200 2407

  • PWS ‘yi açın
  • gelişmiş sekmesine tıklatın
  • “web bölgesi etkinlik günlüğü” ‘nü işaretleyin

BinaryWrite

Veriyi herhangi bir karakter dönüşümü yapmadan gönderir.
Resim gibi karakter olmayan verileri göndermek için kullanabilirsiniz.
response.BinaryWrite   veri

veri :
gönderilecek veri
‘ …………
‘bu kısımda bir veri tabanından rs adlı bir kayıt aldığımız varsayıyoruz.
‘ ………… resim = rs(“resim”) response.BinaryWrite resim

Buffer

Verinin gönderilemden önce tampon belleğe alınıp alınmayacağını beliritir. veriler tamponlanırsa(buffering), sunucu sayfadaki işlemleri bitirene kadar bekler,
tamponlanmazsa sonuçlar üretildiği anda gönderilmeye başlanır. Flush yada End yöntemleri kullanılırsa tampon bellekteki veriler gönderilir. Veriler gönderildikten sonra buffer değerini değiştiremezsiniz.
Herhangi bir bilgi gönderilmeden önce, tercihen sayfanın başında sunucuya
sayfanın tamponlanıp tamponlanmayacağını bildirmelisiniz.
response.buffer   = işaret
işaret :
tamponlanmanın yapılıp yapılmayacağını belirten işaret, doğru yada yanlış değerini alabilir.
TRUE : Veriler tampon belleğe alınmaz.Sonuçlar üretildiği anda gönderilir. FALSE : Veriler işlem bitinceye yada Flush veya End yöntemleri kullanılıncaya kadar tampon bellekte bekletilir.

Farkı anlamak için bu kodları her iki durum için de test edin.
kod1
response.buffer = true
for i = 1 to 100
response.write “
” & i
for j= 1 to 20000
next
next
kod2
response.buffer = FALSE for i = 1 to 100
response.write “
” & i
for j= 1 to 20000
next
next

CacheControl

Proxy sunucuların gönderilen sayfayı ön bellekte tutup tutamayacğını bildiren başlık(header) bilgisini gönderir.

response.CahceControl   = veri

veri :
“Public” yada “Private” olmalıdır.
“Public” olursa proxy sunucular sayfayı ön belleğe alabilir,
“Private” olursa proxy sunucular sayfayı ön belleğe almaz.
Varsayılan olarak “Private” durumundaır,

response.CahceControl = “Public”

Header bilgileri aşağıdaki gibi olabilir.
Mavi olan kısım AddHeader yöntemiyle eklenmiştir. HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Thu, 24 Jan 2002 02:15:58 GMT
Content-Type: text/html
Set-Cookie: ASPSESSIONIDFFFECYZT=MMKNPCIDINLFKLKDAAPGHNNF; path=/
Cache-control: Public

Charset

Charset özelliği, başlık bilsininin “content-type:” bölümüne karakter seti bilgini ekler.
karakter seti bilgisinin geçerli olup olmadığna bakmaz,
aynı sayfada birden fazla kere kullanılırsa en son yazılan geçerlidir.
response.charset   = karakter seti bilgi

karakter seti bilgi
geçerli sayfa için kullanılcak karakter seti bilgisi,
ÖRNEK:
Aşağıdaki kod tarayıcının(browser) geçerli sayfada türkçe karakter kullanılması gerektiğini bildiren bir satırı HTTP çıkışına gönderir.

response.charset = “windows-1254”

Gönderilen başlık bilgileri (header) aşağıdaki gibi olabilir
Mavi ile yazılan satır response.charset yöntemiyle üretilmiştir.

HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Thu, 24 Jan 2002 02:14:26 GMT
Content-Type: text/html; Charset=windows-1254
Set-Cookie: ASPSESSIONIDFFFECYZT=LMKNPCIDEJGAILAEADPCOIIH; path=/
Cache-control: private

Clear

tampon bellekteki veriyi temizler, başlık (Header) bilgisini temizlemez
eğer ön bellk açık değil ise (Response.Buffer = TRUE) hata meydana gelir.

response.clear

response.clear

ContentType

Gönderilen verinin ContentType (içerik tipi) bilgisini belirler.
ContentType, tip/altsınıf tip olarak tanımlanır, varsayılan text/html dir.
response.ContentType   = içerik tipi

içerik tipi :

geçerli bir içerik tipi bilgisi.ASP verinin geçerli bir içerik tipi olup olmadığına bakmaz.
ÖRNEK:
‘— cmd’nin bir veritabanından içinde resim adıyla tanımlı
‘— resimlerinde bulunduğu kayıtları
‘— getiren SQL komutu olduğunu varsayıyoruz.
Set RS=Conn.Execute(cmd)
Response.ContentType = “image/jpeg”
Response.BinaryWrite RS(“resim”)

Content type konusunda daha detaylı bilgi için “HTTP tanımlaması”‘na bakınız.
Bazı content-type bilgiler:
text/html : html belgesi
text/css : css belgesi
image/jpeg : jpeg resmi
image/gif : gif resmi

End

yürütülmekte olam işlemleri durdurur, eğer tamponlama yapılıyorsa (Response.Buffer = TRUE ise)
tampon bellekteki veriyi http çıkışına gönderir.End yöntemini kullandığınızda veri gönderilmemesini
istiyorsanız önce veriyi tampon belleğe alın(response.buffer = true) ve end yöntemini kullanmadan
önce tampon belleği temizleyin.(response.clear)
Tampon bellek için response.Buffer bölümüne bakınız

response.end

Örnek:
Response.Buffer = TRUE
response.write “merhaba ziyaretçi”
if uyelik = FALSE then response.end
response.write “burada sayfanın devamı var”

Sonuç:
merhaba ziyaretçi
“burada sayfanın devamı var” kısmı yazılmadı

Expires

Sayfanın ne kadar süre ön bellekte (cache) tutulması gerektiğini belirtir.
Sayfa önbellekte tutulması gereken süre içinde tekrar ziyaret edilirse önbelekteki sayfa görüntülenir.
Aynı sayfada birden fazla defa kullanılırsa en kısa olanı geçerli kabul edilir.
response.Expires   = [ süre ]

süre :
Sayfan önbellekte tutulması gereken dakika cinsinden süre.
Süre sıfır ise sayfa önbellekte tutulmaz.

response.Expires = 0

Flush

Eğer tampon bellek açık ise, tampon bellekteki veriyi gönderir.aksi halde hata meydana gelir.
Tampon bellek için response.Buffer bölümüne bakınız

response.flush
IsClientConnected

istemcinin web sunucuba bağlı olup olmadığını bildirir.sadece okunur bilgi
response.IsClientConnected()
değişken = response.IsClientConnected
ÖRNEK:
durum = response.IsClientConnected
response.write durum

sonuç:
True

Redirect

istemciye istenen sayfanın başka yere taşındığını ve yaşındığı yeri bildiren mesaj gönderir
bir çok tarayıcı bu mesajı aldığında belirtilen adrese yönlenir.

Sözdizimi

response.redirect   url
url :
internet adresi (Uniform Resouce Locator)

ÖRNEK

response.redirect “asp.kutuphanesi.com”

redirect yöntemi kullanıldığında sunucu başlık (header) bilgilerine şunları ekler.
HTTP/1.1 302 Object moved
Location: [..url….]

Status

Status özelliği, sunucu tarafından üretilen durum bilgisini verir.
Bu özelliğini kullanarak durum bilgisini değiştirebilirsiniz. Bazı durum kodları:
200 OK , normal durum
404 Nesne Bulunamadı
403 Erişim Yasak
response.Status   = durum
durum :
sunucu durum bilgisi. 3 haneli rakam ve tanımlayıcı metinden oluşur,
daha fazla bilgi için “HTTP tanımlaması” na bakınız
response.Status = “401 Unauthorized”

Server Nesnesin metodları

CreateObject

ASP sayfasında, bir sunucu nesnesi tanımlamak için kullanılır.
server.CreateObject( nesne )

nesne : kullanılacak nesnenin adı.

Aşağıdaki örnek ADO kayıt kümesi tanımlar

Set rs = server.CreateObject(“ADODB.Recordset”)

HTMLEncode

Belirtilen veriye HTML kodlması yöntemini uygular.Bu yöntem veriyi tarayıda yorumlanmamış şeklini görmenize imkan verir.

server.HTMLEncode (veri)

veri :
HTML kodlaması uygulanacak veri
response.write “Bold etiketi :
response.write server.HTMLEncode (“<b>”)

Yukarıdaki örmekte, birinci satırdaki veri tarayıcıda yorumlanır, ikinci satırdaki veri aynen görüntülenir. ASP bu sonucu üretir.
Bold etiketi : <b>Bold etiketi :<b>&ltb&gt tarayıda böyle görünür:
Bold etiketi :<b>

Mappath

Belirtilen sanal yada izafi adresin disk üzerindeki gerçek konumunu verir.

server.mappath path

Örnek
response.write server.mappath(“/asp”) SitelerC:\Inetpub\wwwroot\asp

ScriptTimeOut

Sayfadaki asp kodlarının çalışmasına izin verilen en uzun süre
bu süre sonunda uygulamanın çalışması sona erdirilir,ve ScriptTimeOut hatasaı verir.
Bu değer, sistem kaydında ,(registry) belirtilen değerden küçük olamaz.
Varsayılan olarak 90 saniyedir.
server.ScriptTimeOut = süre

süre
saniye saniye

server.ScriptTimeOut = 120

script zaman aşımı süresini 120 saniye olarak beliritr.

URLEncode

Belirtilen veriye URL kodlaması yöntemini uygular

server.UrlEncode(url)

url: internet adresi (Uniform Resourcr Locator)

response.write “asp.kutuphanesi.com”
response.write server.UrlEncode(“asp.kutuphanesi.com”)

İlk yorum yapan olun

Bir yanıt bırakın