2010-03-11 86 views
0

我們有一個小型Web場(2臺服務器),由Windows 2003中的內置網絡負載平衡器進行平衡。我們有幾頁使用頁面緩存。我的問題是:給定用戶可能會導致頁面被緩存,而另一個用戶看到該內容嗎?這是有問題的頁面的頁面指令:Web場中的ASP.NET頁面緩存

<%@ OutputCache Duration="1" NoStore="true" VaryByParam="none" %> 

持續時間設置的原因爲「1」,以確保頁面不緩存,因爲交易的任何1秒鐘以上,關於行動頁面可以觸發。

+2

爲什麼即使在您顯示的場景中緩存? – 2010-03-11 17:38:36

+0

實際上,當用戶單擊「後退按鈕」時,我們試圖阻止緩存 – Achilles 2010-03-11 17:43:18

回答

0

我想,而不是緩存的頁面一秒鐘你應該考慮如何在執行它們時不會運行事務。

0

是的,所有特別要求頁面的用戶都會看到相同的輸出。

在asp.net中,最好在控件級別上使用OutputCache,它具有相同的語法。

您可以使用VaryByCustom並根據用戶登錄信息或其他信息製作。我爲顯示位置依賴信息的頁面實現了此功能。

而且,沒有任何意義來實現它基於用戶登錄/ ID,因爲用戶不會請求數據幾聲第二

+0

即使Duration屬性設置爲1?我們試圖在每次回發後強制頁面到期,以防止用戶點擊「返回」並重新發布交易。 – Achilles 2010-03-11 17:49:37

+0

'Back'在大多數情況下會從瀏覽器緩存中加載頁面。 OutputCache根本無法讓你知道這一點。 我認爲你需要使用頁面標題,它應該可以指定頁面的到期日期,但我不是這方面的專家 – st78 2010-03-12 14:27:32