ASP.NET Substitutionコントロールの使い方
2527 ワード
場合によってはASPをキャッシュする場合がある.NETページですが、各リクエストに応じてページで選択した部分を更新する必要があります.たとえば、ページの大部分をキャッシュする場合がありますが、ページの時間の高さに関する情報を動的に更新する必要があります.
Substitutionコントロールを使用して、動的コンテンツをキャッシュ・ページに挿入できます.Substitutionコントロールにはタグは表示されません.このコントロールをページまたは親ユーザーコントロールにバインドする方法が必要です.自分で静的メソッドを作成して、ページに挿入する情報を返します.Substitutionコントロールによって呼び出されるメソッドは、次の基準を満たす必要があります.
この方法は静的方法(Visual Basicでは共有方法)として定義される.
このメソッドは、HttpContextタイプのパラメータを受け入れます.
このメソッドはStringタイプの値を返します.
Substitutionコントロールでは、ページの他のコントロールにアクセスできません.つまり、他のコントロールの値をチェックしたり変更したりすることはできません.ただし、コードは、渡されたパラメータを使用して現在のページコンテキストにアクセスできます.
ページが実行されると、Substitutionコントロールはメソッドを呼び出し、ページのSubstitutionコントロールをメソッドの戻り値に置き換えます.
以下では,Substitutionコントロールがキャッシュページ上で動的なコンテンツを生成することをそれぞれ2つの方法で実証し,キャッシュ時間は20秒であり,20秒以内に何度リフレッシュしても直接出力する時間は変わらない.ページ上のSubstitutionコントロールは静的メソッドgetCurrentTimeを呼び出し、呼び出すたびに変化します.
コード1:Responseを使用する.Cache関連メソッド設定キャッシュ
コード2:OutputCacheコマンドを使用してキャッシュを設定する
Substitutionコントロールを使用して、動的コンテンツをキャッシュ・ページに挿入できます.Substitutionコントロールにはタグは表示されません.このコントロールをページまたは親ユーザーコントロールにバインドする方法が必要です.自分で静的メソッドを作成して、ページに挿入する情報を返します.Substitutionコントロールによって呼び出されるメソッドは、次の基準を満たす必要があります.
この方法は静的方法(Visual Basicでは共有方法)として定義される.
このメソッドは、HttpContextタイプのパラメータを受け入れます.
このメソッドはStringタイプの値を返します.
Substitutionコントロールでは、ページの他のコントロールにアクセスできません.つまり、他のコントロールの値をチェックしたり変更したりすることはできません.ただし、コードは、渡されたパラメータを使用して現在のページコンテキストにアクセスできます.
ページが実行されると、Substitutionコントロールはメソッドを呼び出し、ページのSubstitutionコントロールをメソッドの戻り値に置き換えます.
以下では,Substitutionコントロールがキャッシュページ上で動的なコンテンツを生成することをそれぞれ2つの方法で実証し,キャッシュ時間は20秒であり,20秒以内に何度リフレッシュしても直接出力する時間は変わらない.ページ上のSubstitutionコントロールは静的メソッドgetCurrentTimeを呼び出し、呼び出すたびに変化します.
コード1:Responseを使用する.Cache関連メソッド設定キャッシュ
<br> static string getCurrentTime(HttpContext context)
<br> {
<br> return DateTime.Now.ToString();
<br> }
<br> void Page_Load(object sender, EventArgs e)
<br> {
<br> Response.Cache.SetExpires(DateTime.Now.AddSeconds(20));
<br> Response.Cache.SetCacheability(HttpCacheability.Public);
<br> Response.Cache.SetValidUntilExpires(true);
<br> }
<br>
キャッシュページにダイナミックコンテンツを --substitutionコントロールを したプレゼンテーション
Cache Time:
Real Time:
コード2:OutputCacheコマンドを使用してキャッシュを設定する
<br> static string getCurrentTime(HttpContext context)
<br> {
<br> return DateTime.Now.ToString();
<br> }
<br>
キャッシュページにダイナミックコンテンツを --substitutionコントロールを したプレゼンテーション
Cache Time:
Real Time: