2010-06-11 21 views
5

Przypuszczałem, że wysyłanie stronę się z upływem (la) ...Jakie warunki powodują, że przeglądarka internetowa wyświetla komunikat "Strona wygasła"?

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

... Oznaczałoby to, że jeśli użytkownik wcisnął guzik z powrotem byłoby widzą komunikat „Strona wygasła”. Wydaje się, że nie działa w ten sposób. Zauważyłem, że użycie przycisku wstecz pokaże po prostu stronę star (IMO wygasła). W rzeczywistości w eksperymentach z różnymi kombinacjami buforowania/braku buforowania i czasów wygaśnięcia udało się uzyskać komunikat "Strona wygasła" z przeglądarki.

Jakie warunki powodują tę wiadomość?

Środowisko serwerów ASP .Net. Testowałem tylko w IE8 - zakładam, że inne przeglądarki są tutaj spójne.

Odpowiedz

1

Można spróbować ustawić te dodatkowe nagłówki odpowiedzi:

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

Jednak nie sądzę, istnieje jakikolwiek niezawodny sposób, aby zmusić wszystkie przeglądarki, aby nie przeładować stronę z historii.

0

Myślę, że to, co robisz, to komunikat wyświetlany podczas próby ponownego załadowania/odświeżenia (lub z powrotem) strony, na którą zostały przesłane dane (z żądaniem POST, w przeciwieństwie do GET), dlatego Dane POST mogą być "starymi" informacjami, otrzymasz to ostrzeżenie.

+0

Dzięki, ale nie. Myślę, że jest to komunikat "Aby wyświetlić stronę ponownie, Internet Explorer musi ponownie wysłać informacje, które przesłałeś wcześniej ...". Nie o tym myślę. Uważam (czy się tu mylę?), Że istnieje komunikat, że strona wygasła. Wydaje mi się, że nie mogę sprowokować tego przesłania, więc mogłem po prostu szczekać złe drzewo. – RichardHowells

Powiązane problemy