網頁輸出快取會將處理過的 ASP.NET 網頁內容儲存在記憶體中。這可以讓 ASP.NET 在不需要重新逐步執行網頁處理生命週期的情況下,將網頁回應傳送至用戶端。網頁輸出快取對不需時常變更,但是需要大量處理時間才能建立的網頁特別有用。例如,如果您建立高流量的 Web 網頁以顯示不常更新的資料,網頁輸出快取能夠大幅增加這個網頁的效能。您可以為每個網頁個別設定網頁快取,或是可以在 Web.config 檔中建立快取設定檔,讓您只需要定義一次快取設定,就能夠在多個網頁中使用這些設定。
網頁輸出快取提供兩種網頁快取模型:完整網頁快取和部分網頁快取 (Partial Page Caching)。完整網頁快取可以將某個網頁的全部內容一直保存在記憶體中,以便用來滿足用戶端要求。部分網頁快取可以讓您快取網頁的一部分,其他部分則是動態的。如需詳細資訊,請參閱快取 ASP.NET Web 網頁。
部分網頁快取的運作方式有兩種:控制項快取和快取後置替換 (Post-Cache Substitution)。控制項快取 (有時候也稱為片段快取) 可以藉由將資訊包含在使用者控制項中,然後將使用者控制項設定為能夠快取,以便讓您快取部分網頁輸出。如此一來,可以快取某個網頁中的特定內容,但是因為不會快取整個網頁,所以每次仍然必須重新建立尚未快取的網站內容。例如,如果要建立顯示大量動態內容 (例如股票資訊) 的網頁,但是要同時保留靜態區段 (例如每週的摘要),您可以將這些靜態區段放在使用者控制項中並允許快取。
快取後置替換則剛好相反。其會快取整個網頁,但是網頁中的片段是動態的。例如,如果建立在一段時間內保持靜態的網頁,就可以設定快取整個網頁。如果您將 Label 控制項加入顯示使用者名稱的網頁,每次網頁重新整理和每個使用者都會看到相同的 Label,顯示在快取之前要求網頁的使用者名稱。然而,在使用快取後置替換時,您可以設定快取網頁但是不快取網頁的個別區段。在上述情形中,您可以將 Label 控制項加入無法快取的區段,然後就會為每個使用者和網頁要求動態建立控制項。如需詳細資訊,請參閱ASP.NET Web 網頁的快取部分。
根據要求參數快取網頁
除了快取網頁的單一版本外,ASP.NET 網頁輸出快取也提供根據不同要求參數,建立多個網頁版本的功能。如需詳細資訊,請參閱快取網頁的多個版本。