我想爲我們的asp.net mvc網站的登錄頁面使用頁面緩存。此頁面僅供匿名用戶訪問。但是,如果用戶已登錄,我希望此頁面重定向到經過身份驗證的用戶主頁。如果用戶通過身份驗證,用重定向緩存匿名頁面
問題是,如果我緩存登錄頁面,登錄用戶仍然可以訪問此頁面,因爲它緩存在瀏覽器中。
顯然,如果用戶通過身份驗證,元刷新標題也將無法正常工作,因爲頁面將首先緩存而不包含標題。
有什麼辦法可以緩存登錄頁面,但也可以重定向,如果用戶登錄,不使用查詢參數,或是有條件的GET唯一的方法來做到這一點?
我想爲我們的asp.net mvc網站的登錄頁面使用頁面緩存。此頁面僅供匿名用戶訪問。但是,如果用戶已登錄,我希望此頁面重定向到經過身份驗證的用戶主頁。如果用戶通過身份驗證,用重定向緩存匿名頁面
問題是,如果我緩存登錄頁面,登錄用戶仍然可以訪問此頁面,因爲它緩存在瀏覽器中。
顯然,如果用戶通過身份驗證,元刷新標題也將無法正常工作,因爲頁面將首先緩存而不包含標題。
有什麼辦法可以緩存登錄頁面,但也可以重定向,如果用戶登錄,不使用查詢參數,或是有條件的GET唯一的方法來做到這一點?
您可以使用帶有VaryByCustom參數的OutputCacheAttribute。
如果您將其設置爲「IsAuthenticated」之類,然後在您的Global.asax文件中定義GetVaryByCustomString方法,並根據用戶是否經過身份驗證返回一個「True」或「False」字符串。
事實上,以下博文回答您的問題相關:Read This
乾杯伴侶 - 工作一種享受 – coalvilledave
http://stackoverflow.com/questions/1256317/how-not-cache-an-asp-net-user-control – amd