2008-12-01 28 views
0

我有一個用戶必須登錄的應用程序。 登錄後,他們可能會對我們的數據庫執行搜索。從asp.net緩存中返回頁面時,哪些事件不會觸發?

他們的身份會影響搜索結果。

我希望使用緩存頁面的結果。 VaryByParam聽起來不錯。

但是,我不明白在返回頁面的緩存版本時發生或不發生的事件。

我不希望另一個用戶嘗試提供可能指示其他用戶帳戶的url參數,因此允許他們訪問別人的結果。

因此,我需要一個服務器事件,即使從緩存中返回頁面時也會始終觸發,以便我可以檢查此ID參數與會話版本相同。

但是這也意味着我不能在這個事件中執行我的搜索,因爲它會一直運行,因此打破了緩存的目的。所以我需要另一個事件,只有當頁面不是從緩存中檢索到時纔會觸發。

在這兩組情況下運行哪些事件?

回答

1

您是否考慮設置Response緩存屬性以允許客戶機緩存結果?在響應中使用Cache策略的SetCacheability方法將緩存性設置爲Private

如果每個用戶可能有不同的結果,您並不真的需要服務器緩存,請讓客戶端緩存來完成這項工作。

相關問題