Tekil Mesaj gösterimi
Alt 17 Mart 2007, 20:38   #7
Çevrimdışı
telNET
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: ASP Anlatımı (Dökümandır)




Karşılık (Response) Nesnesi
Ve geldik Web Server’in Çıktı (Output) sağladığı istemciye giden karşılıkların oluşturduğu nesneye. Server’dan Browser’a giden herşey karşılıktır. Bu bir ASP veya HTML sayfası olabilir, sayfanın içindeki GIF, JPG veya PNG grafiği, bir Flash, video veya ses dosyası olabilir. Böylesine zengin içeriği olmakla birlikte Response nesnesinin sadece bir kolleksiyonu vardır: Cookie’ler. Buna karşılık Response nesnesinin kullanabileceğimiz çok sayıda özelliği ve metodu bulunur. Önce Cookie kolleksiyonunu ele alalım; sonra önemli Response nesnesi özellikleri ve metodları üzerinde duralım.
Cookie’ler
Request nesnesinin Cookie kolleksiyonuna değinirken, ziyaretçilerimizi Browser’larına Cookie göndererek tabir yerinde ise işaretleriz, demiştik. Bu işaretleme, söz gelimi, ziyaretçinin bir Form’a yazdığı adı ve soyadı ile elektronik posta adresini Cookie olarak onun bilgisayarına kaydetmek şeklinde olur. Bir kişi sayfamızı talep ettiği anda, ASP programımız bu kişinin bilgisayarında daha önce koyduğumuz Cookie’yi arar ve bulur; Cookie’den bu kişinin adını öğrenir ve mesela sayfamız “Sayın Filanca, sitemize hoş geldiniz!” başlığını görüntüler.
Cookie’ler sadece böyle fiyaka amaçlı olarak kullanılmaz; ziyaretçinin daha önce sitemizde ziyaret ettiği sayfaları veya elektronik ticaret sitemizden satın aldığı kitap türlerini Cookie’ye kaydedebiliriz. Ziyaretçinin ikinci ziyaretinde ona önce bu sayfaların veya kitapların köprülerini sunabiliriz. Bir Cookie’nin adı ve anahtarları (key) ile bu anahtarlara karşılık değerler olur. Örneğin:
<% Response.Cookie(“Bizim_Cerez”)(“Adi_Soyadi”)= “Necip Fazıl” %>
Bu, ziyaret&#231;inin Browser’ına (yani sabit diskine) “Bizim_Cerez” isimli bir Cookie g&#246;nderir; bu Cookie’nin “Adi_Soyadi” adlı bir anahtarı vardır; bu anahtarın değeri ise “Necip Fazıl” olur.
Cookie kolleksiyonunun iki &#246;zelliği bulunur:
Expires (zaman aşamı s&#252;resi): Bir cookie’nin artık ge&#231;ersiz olduğu tarihi g&#246;sterir.:
<% Response.Cookie(“Bizim_Cerez”).CookieExpires = “August 7, 2000” %>
Bu Cookie, 7 Ağustos 2000 tarihinden sonra kullanılmaz olacak demektir.
HasKeys: Cookie’nin String mi i&#231;erdiği yoksa anahtarları ve değerleri mi bulunduğunu belirtir, “HasKeys = False” birinci, ““HasKeys = True” ise ikinci durumu belirtir. Bir Cookie’de birden fazla anahtar ve değer bulunuyorsa, t&#252;m&#252;n&#252; bir ASP kodu i&#231;inde yazmak, Cookie’nin g&#246;nderilmesini kolaylaştırır
Metodlar
Response nesnesinin bir &#231;ok metodu vardır; bunlardan .Write’ı yukarıdaki &#246;rneklerde sık sık kulandık:
<%
DIM Adi_Soyadi
Adi_Soyadi = “Necip Fazıl Dayanır”
Response.Write(“Merhaba, benim adım, “ & Adi_Soyadi)
%>
&#246;rneği, ziyaret&#231;inini Browser penceresine: “Merhaba, benim adım Necip Fazıl Dayanır” yazdırır. Fakat VBScript, size bir kolaylık sağlar; buna bazı ASP tasarımcıları “eşittir metodu” adını verir:
<%
DIM Adi_Soyadi
Adi_Soyadi = “Necip Fazıl Dayanır”
%>
<%= “Merhaba, benim adım, “ & Adi_Soyadi %>
&#214;zellikler
Response nesnesinin bir &#231;ok &#246;zelliğini kullanarak ziyaret&#231;imize g&#246;ndereceğimiz sayfaları ve diğer unsurları y&#246;netiriz:
Buffer (Tampon) : True (doğru) olarak ayarlandığında ziyaret&#231;iye g&#246;nderilecek sayfanın b&#252;t&#252;n unsurları bir tampon b&#246;lgede toplanır, Script’in &#231;alışması bitinceye kadar beklenir ve HTML sayfa toptan g&#246;nderilir. Kimi zaman ASP kodumuz sonuna kadar &#231;alıştığında ziyaret&#231;iyi başka bir sayfaya ve siteye y&#246;nlendirebilir. Bu gibi sebeplerle, &#246;zellikle &#231;ok işlem gerektiren ASP sayfalarının baştarafına bunu sağlayan kodu koymakta yarar olabilir:
<%
Option Explicit
Response.Buffer = TRUE
%>
Flush (hemen g&#246;nder): Buffer metodu sayfanın t&#252;m&#252;n&#252;n Script’in icrası bitmeden g&#246;nderilmesini &#246;nlerken, Flush bunun tam tersini yapar. ASP, Response nesnesinin Flush metodu kullandığımızı g&#246;rd&#252;ğ&#252; anda, o ana kadar icra edilmiş kodun sonucu olan HTML’i Browser’a g&#246;nderir:
<%
Option Explicit
Response.Flush
%>
Clear (Boşalt): Buffer metodu ile Script’in sonunu beklerken ge&#231;ici bir alanda tutulmakta olan HTML, Clear metodu ile temizlenir, yok edilir. Flush metodunda tampondaki HTML Browser’a g&#246;nderilir; ancak Clear metodu tampon b&#246;lgedeki herşeyi yok eder. B&#246;yle “tehlikeli” bir metod neden vardır, ve nerede kullanılabilir? Bir &#231;ok yerde: ziyaret&#231;inin s&#246;zgelimi elektronik alışveriş sitemizde alışverişten vazge&#231;tiğini belirtmesi &#252;zerine tampon b&#246;lgede tutmakta olduğumuz ve alınan mallar listesini i&#231;eren HTML’i bu y&#246;ntemle temizleriz:
<%
Option Explicit
Response.Clear
%>
Expires (S&#252;resi dolar): Kullanıcı tersine bir ayar yapmadıysa, Browser genellikle g&#246;r&#252;nt&#252;lediği sayfaları Ge&#231;ici Internet Dosyaları dizinine (cache) kaydeder ve tekrar aynı sayfayı g&#246;r&#252;nt&#252;lemek istediğinizde sayfayı Internet’ten edinmek yerine kendi sabit diskinden alır. Oysa &#246;zellikle haber gibi s&#252;reli bilgilerin sunulduğu Web sitelerinde bu sitenin itibarını sarsar. ASP tekniğiyle bunu &#246;nleyebiliriz. ASP sayfamızda bu sayfanın g&#246;zgelimi 60 dakikadan fazla cach dizinde tutulmamasını sağlayacak Expires metodunu kullanabiliriz:
<%
Option Explicit
Response.Expires = 60
%>
Burada yazdığımız rakamı değiştirerek, sayfanın cach’de tutulacağı dakikayı değiştirebiliriz. “Expires = 0” sayfanın hi&#231; saklanmamasını sağlar.
End (Son): Response nesnesinin o anda icra edilmekte olan Script’i durdurarak, o ana kadar ne elde edilmişse hepsini Browser’a g&#246;ndermesini sağlayan metodu olan End, aynı zamanda Buffer metoduyla tutulan HTML’in de g&#246;nderilmesine yol a&#231;ar. Bu metoddan sonraki HTML veya ASP kodları icra edilmez:
<%
Option Explicit
Response.End
%>
Response nesnesinin ASP sayfasının &#231;ıktı kontrol&#252;n&#252; sağlayan bu metodlarını aşağıdaki eğlenceli Script’le sınayabilirsiniz (ASP ile eğlence de bundan daha fazla olamaz!). Burada Browser’a gitmesi &#252;midiyle &#252;&#231; c&#252;mle var. Programı &#231;alıştırın ve bakalım hangisi ekranda kalacak? Bu kadar eğlendiğinize g&#246;re şu soruyu da yanıtlayabilirsiniz: Neden?
<% @LANGUAGE = VBScript %>
<%
Option Explicit
Response.Buffer = True
Response.Expires = 60
%>
<HTML>
<BODY>
Bu 1 Numaralı mesajı mı Browser’a gidecek?
<%
Response.Clear
Response.Expires = 0
%>
<HTML>
<BODY>
Bu 2 numaralı mesaj mı Browser'a gidecek)
<%
Response.Flush
%>
</BODY>
</HTML>
<%
Response.End
%>
Bu 3 numaralı mesaj mı Browser’a gidecek?
</BODY>
</HTML>

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet reklamver