不工作我添加了一個OutputCache指令我的asp.net頁面(asp.net 4.0)這樣:OutputCache指令在Asp.Net
<%@ OutputCache Duration="3600" Location="Client" VaryByParam="None" %>
然而,這似乎並不奏效。當我查看http頭信息時,我看到:
HTTP/1.1 200 OK =>
Cache-Control => no-cache, no-store
Pragma => no-cache
Content-Type => text/html; charset=utf-8
Expires => -1
Server => Microsoft-IIS/7.0
X-AspNet-Version => 4.0.30319
Set-Cookie => ASP.NET_SessionId=0txhgxrykz5atrc3a42lurn1; path=/; HttpOnly
X-Powered-By => ASP.NET
Date => Tue, 15 Nov 2011 20:47:28 GMT
Connection => close
Content-Length => 17428
以上顯示的是OutputCache指令未應用。我甚至想這從代碼隱藏:
this.Response.Cache.SetExpires(DateTime.Now.AddHours(1.0));
TimeSpan ds = new TimeSpan(0, 1, 0, 0);
this.Response.Cache.SetMaxAge(ds);
上面的代碼應該有相同的結果OutputCache指令,但是當我檢查HTTP頭信息,我可以看到它仍然沒有被應用。
基本上,這裏的目的是確保當用戶單擊後退按鈕並登錄到我的頁面時,不會從服務器中檢索頁面。我想避免讓瀏覽器彈出窗口詢問用戶'重新發送'。我希望瀏覽器只使用其緩存中的頁面副本。
感謝advace尋求幫助。
該瀏覽器彈出與緩存無關... –