Substitution クラスとは? わかりやすく解説

Substitution クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

出力キャッシュ使用する Web ページのうち、キャッシュしないセクション指定しますこの位置で、動的なコンテンツ取得されSubstitution コントロール置き換えられます。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

解説解説

Substitution コントロール使用して出力キャッシュ使用する Web ページのうち、コントロール動的なコンテンツ置き換えるセクション指定しますSubstitution コントロールは、ほとんどのコンテンツキャッシュされるページに対して部分ページ キャッシュを行うよりシンプルなソリューション提供しますページ全体出力キャッシュしてから、Substitution コントロール使用してキャッシュしないページ部分指定できますキャッシュされる領域一度だけ実行されキャッシュ エントリ有効期限が切れるかパージされるまで再生されます。動的領域ページ要求されるたびに実行されます。このキャッシュ モデルでは、セクションカプセル化して Web ユーザー コントロールキャッシュする必要がないため、本来は静的であるページコード簡略化されています。たとえば、ニュース記事などの静的コンテンツと、広告表示する AdRotator コントロールを含むページ場合は、このキャッシュ モデル使用すると便利です。ニュース記事変更されないのでキャッシュできます。ただし、ユーザーページ要求するたびに、新し広告表示したいとしますAdRotator コントロールキャッシュ後の置き換え直接サポートするため、ページキャッシュされているかどうかかかわらずページポストバックされるたびに新し広告表示します

メモメモ

Substitution コントロールは、キャッシュされるページ含まれるユーザー コントロール内に配置できます。ただし、Substitution コントロール出力キャッシュされるユーザー コントロール内に配置することはできません。

Substitution コントロールは、実行時に文字列を返すメソッド呼び出します。このメソッド返す文字列内容が、ページ上の Substitution コントロール位置表示されます。MethodName プロパティ使用してSubstitution コントロール実行時呼び出すコールバック メソッドの名前を指定します指定するコールバック メソッドは、ページ上または Substitution コントロール格納しているユーザー コントロール静的メソッドであることが必要です。コールバック メソッドシグネチャは、HttpContext パラメータ受け取って文字列返す HttpResponseSubstitutionCallback デリゲートシグネチャ一致する必要があります

ページ出力キャッシュ操作するために、@ OutputCache ディレクティブ、HttpCachePolicy クラス、または Cache プロパティ使用できますページキャッシュ詳細については、「ASP.NET ページキャッシュ」および「ASP.NET ページ一部だけのキャッシュ」を参照してください

Substitution コントロール使用する代わりにHttpResponseSubstitutionCallback デリゲート使用してキャッシュ置き換え動作取得することもできますまた、この機能直接サポートするコントロール (AdRotator コントロールなど) のキャッシュ置き換え動作取得することもできます詳細については、「キャッシュ ページ動的な部分更新」を参照してください

使用例使用例

Substitution コントロール出力キャッシュ使用する Web ページ宣言によって追加する方法コード例次に示しますページ読み込まれると、ユーザーに対して現在の日付と時刻ラベル表示されます。ページのこのセクションキャッシュされ、60 秒ごとに更新されます。Substitution コントロールは、実行時GetCurrentDateTime メソッド呼び出します。GetCurrentDateTime から返される文字列ユーザー表示されます。ページのこのセクションキャッシュされず、ページ表示更新されるたびに更新されます。

<%@ outputcache duration="60" varybyparam="none"
 %>
<script runat="server" language="VB">
  
  
  Sub Page_Load(ByVal sender As
 Object, ByVal e As System.EventArgs)
    ' Display the current date and time in the label.
    ' Output caching applies to this section of the page.
    CachedDateLabel.Text = DateTime.Now.ToString()
  End Sub
  
  ' The Substitution control calls this method to retrieve
  ' the current date and time. This section of the page
  ' is exempt from output caching. 
  Shared Function GetCurrentDateTime(ByVal
 context As HttpContext) As String
    Return DateTime.Now.ToString()
  End Function
  
</script>

<html>
<head id="Head1" runat="server">
  <title>Substitution Class Example</title>
</head>
<body>
  <form id="Form1" runat="server">
  
    <h3>Substitution Class Example</h3>  
    
    <p>This section of the page is not
 cached:</p>
    
    <asp:substitution id="Substitution1"
      methodname="GetCurrentDateTime"
      runat="Server">
    </asp:substitution>
    
    <br />
    
    <p>This section of the page is cached:</p>
    
    <asp:label id="CachedDateLabel"
      runat="Server">
    </asp:label>
    
    <br /><br />
    
    <asp:button id="RefreshButton"
      text="Refresh Page"
      runat="Server">
    </asp:button>     

  </form>
</body>
</html>
<%@ outputcache duration="60" varybyparam="none" %>
<script runat="server" language="C#">  
  
  void Page_Load(object sender, System.EventArgs e)
  {
    // Display the current date and time in the label.
    // Output caching applies to this section of the page.
    CachedDateLabel.Text = DateTime.Now.ToString();    
  }
  
  // The Substitution control calls this method to retrieve
  // the current date and time. This section of the page
  // is exempt from output caching. 
  public static string GetCurrentDateTime
 (HttpContext context)
  {
    return DateTime.Now.ToString ();
  }
  
</script>

<html>
<head runat="server">
  <title>Substitution Class Example</title>
</head>
<body>
  <form runat="server">
  
    <h3>Substitution Class Example</h3>  
    
    <p>This section of the page is not cached:</p>
    
    <asp:substitution id="Substitution1"
      methodname="GetCurrentDateTime"
      runat="Server">
    </asp:substitution>
    
    <br />
    
    <p>This section of the page is cached:</p>
    
    <asp:label id="CachedDateLabel"
      runat="Server">
    </asp:label>
    
    <br /><br />
    
    <asp:button id="RefreshButton"
      text="Refresh Page"
      runat="Server">
    </asp:button>     

  </form>
</body>
</html>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
   System.Web.UI.Control
    System.Web.UI.WebControls.Substitution
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Substitution クラス」の関連用語

Substitution クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Substitution クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS