2012-12-26 65 views
0

我面臨的一個問題是,從網站註銷後,我能夠使用瀏覽器後退按鈕查看所有頁面,我的理解是,如果我清除所有緩存註銷,然後我可以阻止它,但我的擔心是,如果我刪除所有的緩存,那麼我的網站性能會變差?MVC.Net中的緩存

也有可能只爲特定頁面製作nocache?

+0

這個答案是你需要的 - http://stackoverflow.com/a/1705113/182344 – RredCat

回答

0

是的,您可以使用返回視圖的控制器操作上的OutputCache屬性。例如,爲了防止在視圖緩存使用:

[OutputCache(NoStore = true, Duration=1)] 

性能會受到影響,因爲你再告訴瀏覽器不緩存這樣就會使另一個請求到您的網站。但是,這不一定是顯着的影響,因爲您只是將它們重定向到我期望的「會話過期」頁面。

+0

我已經經歷了這個問題,我的主要問題是,有什麼辦法可以讓我們把東西放在緩存中,但是我們不會讓用戶在退出後使用後退按鈕? – Ankush

+0

當你說「把東西保存在緩存中」時,我假設你指的是頁面上的圖像等。這是可以的,因爲這些項目的緩存可以在你的配置中指定。爲了防止* page *本身緩存(以便瀏覽器歷史記錄無法導航),則需要執行與我的答案類似的操作,以指示用戶的瀏覽器不要緩存該URL。我已經使用過這種技術很多次,並且工作正常。 – MarkG

+0

是的你是對的,我的意思是保留圖像,所以如果我們只是寫'[OutputCache(Duration = 1)]',這意味着它不會緩存url,但會緩存圖像。是嗎? – Ankush