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関連メソッド設定キャッシュ
 
  
<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: