ASP.NET 提供了許多可用于配置頁(yè)面輸出緩存和緩存 API 的選項??梢栽谔幚砹隧?yè)面響應后使用頁(yè)面輸出緩存來(lái)緩存此頁(yè)面響應。也可以通過(guò)編程的方式使用緩存 API 來(lái)緩存應用程序數據。有關(guān)更多信息,請參見(jiàn) ASP.NET 緩存概述。
您可以在以下這些位置配置頁(yè)面輸出緩存:
配置文件 可以在應用程序配置層次結構的任何配置文件中配置頁(yè)面輸出緩存設置,包括 Machine.config 文件(用于設置計算機上所有的 Web 應用程序)和特定于應用程序的 Web.config 文件(用于設置單個(gè)應用程序)。
單個(gè)頁(yè)面 可以在單個(gè)頁(yè)面中以聲明方式或編程方式設置緩存選項。還可將在配置文件中創(chuàng )建的緩存配置文件應用于單個(gè)頁(yè)面。
用戶(hù)控件 可以在單個(gè)用戶(hù)控件中以聲明方式或編程方式設置緩存。對于在其他情況下不緩存的頁(yè)面內容來(lái)說(shuō),這是一種簡(jiǎn)便的緩存方法。
在 Web.config 文件中,有兩個(gè)頂級配置節可用于頁(yè)輸出緩存:OutputCacheSection 和 OutputCacheSettingsSection。
OutputCacheSection 節用于配置應用程序范圍的設置,例如是啟用還是禁用頁(yè)輸出緩存。例如,您可以通過(guò)向 Web.config 文件中的 OutputCacheSection 添加 enableOutputCache="false" 來(lái)對整個(gè)應用程序禁用頁(yè)輸出緩存。由于配置文件中的設置要優(yōu)先于單個(gè)頁(yè)面中的緩存設置,因此,示例設置將導致不使用輸出緩存。
OutputCacheSettingsSection 用于配置可由單個(gè)頁(yè)使用的配置文件和依賴(lài)項。例如,下面的代碼創(chuàng )建了一個(gè)名為 CacheProfile1 的 OutputCacheProfile,它將緩存實(shí)現頁(yè) 60 秒:
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheProfile1" duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
Machine.config 文件的配置節與 Web.config 文件的配置節基本相同,而只有一點(diǎn)區別:即可以鎖定 Machine.config 文件中的配置設置,使任何級別的單個(gè)應用程序都無(wú)法重寫(xiě)這些配置設置。在宿主不希望單個(gè)應用程序修改緩存配置時(shí),可能有必要在共享宿主方案中使用此功能。有關(guān)更多信息,請參見(jiàn)如何:鎖定 ASP.NET 配置設置。
通過(guò)應用在配置文件中定義的緩存配置文件,可以配置單個(gè)頁(yè)中的緩存。也可以在 @ OutputCache 指令中配置單個(gè)緩存屬性 (property),或者通過(guò)設置頁(yè)的類(lèi)定義中的屬性 (attribute) 進(jìn)行配置。有關(guān)更多信息,請參見(jiàn) @ OutputCache 和設置頁(yè)的可緩存性。
通過(guò)設置用戶(hù)控件文件中的 @ OutputCache 指令,或設置控件類(lèi)定義中的 PartialCachingAttribute 屬性,可以對用戶(hù)控件緩存進(jìn)行配置。有關(guān)更多信息,請參見(jiàn)緩存 ASP.NET 頁(yè)的某些部分。
可以在 Web.config 文件中配置應用程序的緩存 API。對于頁(yè)面輸出緩存,應用程序宿主可以在 Machine.config 文件中設置配置屬性,并鎖定所有應用程序的緩存配置設置。應用程序緩存 API 在 CacheSection 中進(jìn)行配置。例如,您可以使用下面的配置元素來(lái)禁用項過(guò)期:
<cache disableExpiration="true" />
還可以通過(guò)為屬性(如配置文件的 CacheSection 中的 DisableExpiration 和 DisableMemoryCollection 屬性)賦值的方式來(lái)指定其他應用程序緩存 API 配置設置。
聯(lián)系客服