簡體   English   中英

輸出緩存除用戶控件之外的頁面

[英]Output caching a page except a user control in it

我有一個包含用戶控件的頁面。 該頁面的結構如下所示:

在此處輸入圖片說明

如果您看不到上面的圖像,請在http://i54.tinypic.com/2r4id5f.jpg上進行檢查。現在,除了UserControl的內容外,我想緩存整個頁面。 我嘗試在.aspx頁中使用OutputCache屬性,但是它也會緩存UserControl的內容。

請讓我知道如何能夠緩存除用戶控件之外的頁面內容。

提前致謝。

查看使用替代。

這應該有幫助

但是,遇到的問題是,由於替換是在Page生命周期之外完成的,因此您無法為替換提供用戶控件。 您必須編寫一個返回用於替換的字符串的方法。 但這可能對您有用。

我認為您可以使用asp.net替代控件來實現此目的。 這是一個鏈接至ScottGu的示例

基本思想是您照常緩存整個頁面,但是標記了要替換的部分,可以替換每個請求。

我認為您正在尋找VaryByControl 還可以查看有關片段緩存的帖子

您是否嘗試過將@OutputCache添加到用戶控件和頁面上,但是用戶控件設置了variableByParam =“ qsvalue; postvalue”,其中qsvalue是生成的查詢字符串,您對頁面的每次調用都隨機生成,而postvalue對於回發是相同的。

用戶控件仍將被緩存,但是從理論上講,它永遠不會受到打擊,因為qsvalue / postvalue始終與緩存的控件不同。 它可能無法很好地擴展-最好將持續時間設置為最小,以防止大量的持續時間在緩存中累積。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM