効率的なWebサイト開発キャッシュ技術応用——Web出力キャッシュ(I)


効率的なWebサイト開発キャッシュ技術応用——Web出力キャッシュ(I)


Web出力キャッシュはASP.NETキャッシュの重要なコンポーネント.Web出力キャッシュは、フルページキャッシュ、ユーザーコントロールキャッシュ、キャッシュ後置換に分けられます.まず、フルページキャッシュについて学びましょう.
@OutputCacheを使用して宣言された方法でASPを制御する.NETページまたはページに含まれるユーザーコントロールの出力キャッシュポリシーは、ページ出力キャッシュの一般的なニーズを実現します.

主なテクノロジ:

<%@OutputCache Duration="60" Location="Any|Client|Downstream|Server|None|ServerAndClient" 
Shared="True|False" VaryByControl="controlname" 
VaryByCustom="browser|customstring" VaryByHeader="headres" 
VaryByparam="parametername" %>

@OutputCache命令の各属性を次の表に示します.
属性名
はっきり言う
Duration
キャッシュの有効期限(単位:秒*注:この属性は必須)
Location
出力キャッシュが使用できる場所を指定します.デフォルトはAnyです(*注:ユーザーコントロールで@OutputCacheコマンドはこのプロパティをサポートしていません)
Shared
複数ページで共有できるか、デフォルトはFalse
VaryByControl
ユーザーコントロールの一部の出力キャッシュ(文字列はユーザーコントロールページのサーバーコントロールID)を変更するためにセミコロンで分割された文字列
VaryByCustom
カスタムテキストに基づいてキャッシュ内容を変更する
VaryByHeader
HTTPヘッダによるキャッシュ内容の変更
VaryByParam
出力キャッシュを変更するためにセミコロンで分割された文字列で、デフォルトではGETまたはPOSTのパラメータに対応します.

説明:


@OutputCacheコマンドは、VaryByControlプロパティまたはVaryByParamプロパティのいずれかと組み合わせて使用する必要があります.これが最も基本的な要件です.
例:
<%@OutputCache Duration="60" VaryByControl="" %>

または
<%@OutputCache Duration="60" VaryByParam="" %>

例1:複数のパラメータに基づいてキャッシュする
複数のパラメータに基づいてキャッシュする場合は、たとえばVaryByParam="Id,Card"など、セミコロン分割されたパラメータ名を含める必要がある.すべてのパラメータ値に基づいてキャッシュするには、VaryByParamプロパティ値をアスタリスクに設定する必要があります.
例:VaryByParam="*"
例2:Webキャッシュを実装する複数のバージョンの方法
Webページの複数バージョンのキャッシュを実現するには、@OutputCache命令属性宣言でWeb出力の複数バージョンをキャッシュする方法と、HttpCachePolicyクラスの属性とメソッド(Response.Cache)でWeb出力の複数バージョンをプログラミングでキャッシュする方法の2つがあります.
例:
Response.Cache.SetExpires(Datetime.Now.AddSecondes(60));
Response.Cache.SetCacheability(HttpCacheility.Public);
Response.Cache.SetValidUntilExpires(true);
Response.Cache.VaryByParam["Card"]=true;