2010-06-11 12 views
5

Ben ... (a la) bir son ileWeb tarayıcısının "Sayfa Süresi Doldu" mesajını görüntülemesine hangi koşullar neden oluyor?

Response.Cache.SetExpires(System.DateTime.Now.AddSeconds(5)); 
    Response.Cache.SetCacheability(HttpCacheability.Public); 
    Response.Cache.SetValidUntilExpires(true); 

bir sayfa gönderiyor ... kullanıcı geri düğmesine basın eğer "Sayfa doldu" mesajı görmek olmayacağı anlamına geliyor farz. Bu şekilde çalışmıyor gibi görünüyor. Geri düğmesini kullanarak eski (IMO süresi doldu) sayfasını gösteririm. Aslında, önbelleğe alma/önbelleğe alma ve son kullanma sürelerinin farklı kombinasyonları ile denemede "0 Süresi doldu" mesajını tarayıcıdan çıkarmayı başardım.

Bu mesaj hangi koşulları tetikliyor?

Sunucu Ortamı ASP. Net. Sadece IE8'de test ettim - diğer tarayıcıların burada tutarlı olduğunu varsayıyorum.

cevap

1

Bu ek yanıt başlıklarını ayarlamak için deneyebilirsiniz:

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 

Ancak, geçmişinden bir sayfayı yeniden değil tüm tarayıcıları zorlamak için herhangi bir güvenilir yolu var sanmıyorum.

0

Neyin peşinde olduğunuzu düşünüyorum, veri kaydettiğiniz bir sayfayı yeniden yüklemeye/yenilemeye (veya geri) almaya çalışırken (bir GET'e karşılık bir POST isteğiyle), bunun için POST verileri "eski" bilgiler olabilir, bu uyarıyı alırsınız.

+0

Teşekkürler, ama hayır. "İnternet sayfasını tekrar görüntülemek için, Internet Explorer'ın daha önce gönderdiğiniz bilgileri tekrar göndermesi gerekiyor ..." mesajının olduğunu düşünüyorum. Benim düşündüğüm şey bu değil. İnanıyorum ki (burada yanlış mıyım?), Sayfanın süresinin dolduğunu iddia eden bir mesaj var. Bu mesajı provoke edemiyorum, bu yüzden yanlış bir ağacın havlamasını sağlayabilirim. – RichardHowells

İlgili konular