ObjectDataSource.CacheExpirationPolicy プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ObjectDataSource.CacheExpirationPolicy プロパティの意味・解説 

ObjectDataSource.CacheExpirationPolicy プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

存続期間組み合わせた場合の、データ ソース コントロール使用するキャッシュ動作記述するキャッシュ有効期限動作取得または設定します

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

Public Overridable Property
 CacheExpirationPolicy As DataSourceCacheExpiry
Dim instance As ObjectDataSource
Dim value As DataSourceCacheExpiry

value = instance.CacheExpirationPolicy

instance.CacheExpirationPolicy = value
public virtual DataSourceCacheExpiry CacheExpirationPolicy { get;
 set; }
public:
virtual property DataSourceCacheExpiry CacheExpirationPolicy {
    DataSourceCacheExpiry get ();
    void set (DataSourceCacheExpiry value);
}
/** @property */
public DataSourceCacheExpiry get_CacheExpirationPolicy ()

/** @property */
public void set_CacheExpirationPolicy (DataSourceCacheExpiry
 value)
public function get CacheExpirationPolicy
 () : DataSourceCacheExpiry

public function set CacheExpirationPolicy
 (value : DataSourceCacheExpiry)

プロパティ
DataSourceCacheExpiry 値の 1 つ既定値Absolute です。

解説解説

ObjectDataSource コントロールは、データキャッシュサポートしてます。データキャッシュされている間、Select メソッド呼び出しによって、データObjectDataSource使用するビジネス オブジェクトからではなくキャッシュから取得されます。キャッシュ有効期限が切れると、Select メソッドビジネス オブジェクトからデータ取得し、そのデータを再びキャッシュます。

EnableCaching プロパティtrue設定され、CacheDuration プロパティ (キャッシュ エントリが破棄されるまでの秒数、つまり、キャッシュデータ格納される秒数) が 0 より大きい値に設定されている場合ObjectDataSource コントロールデータ自動的にキャッシュます。値 0 は、キャッシュ時間制限されていないことを示します

キャッシュは、存続期間CacheExpirationPolicy 設定組み合わせることによって規定されます。CacheExpirationPolicy プロパティAbsolute 値に設定した場合ObjectDataSourceSelect メソッド最初呼び出しデータキャッシュし、最長CacheDuration プロパティ指定され時間メモリ内にデータ保持しますメモリ必要になった場合データ存続期間途中で解放されることがあります。この場合キャッシュSelect メソッド次回呼び出され時に更新されます。CacheExpirationPolicy プロパティSliding 値に設定した場合データ ソース コントロールは、Select メソッド最初呼び出しデータキャッシュしますが、これ以降Select メソッド呼び出すたびに、キャッシュ保持する時間ウィンドウリセットします。Select メソッド最後呼び出しの後、CacheDuration プロパティ指定され時間等し時間アクティビティない場合は、キャッシュ有効期限切れます

使用例使用例

このセクションには、2 つコード例含まれています。1 つ目のコード例では、ObjectDataSource オブジェクトフィルタ処理キャッシュサポートする方法示します2 つ目のコード例では、DataSet オブジェクト返すラッパー メソッド実装し、ObjectDataSource オブジェクトキャッシュフィルタ処理有効にする方法示します

ObjectDataSource コントロールフィルタ処理キャッシュサポートする方法次のコード例示しますフィルタ処理キャッシュ有効にするには、SelectMethod プロパティ識別されるデータ取得メソッド実装し、データDataSet オブジェクトとして返す必要があります。この例では、EmployeeLogic オブジェクトデータDataSet として返しEnableCaching プロパティtrue設定されCacheDuration プロパティCacheExpirationPolicy プロパティ設定されているため、キャッシュ有効になりますObjectDataSource は、SelectMethod プロパティによって返されるデータ30 秒キャッシュます。

<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB"
 Assembly="Samples.AspNet.VB"
 %>
<%@ Page language="vb" %>
<html>
  <head>
    <title>ObjectDataSource - VB Example</title>
  </head>
  <body>
    <form id="Form1" method="post"
 runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.VB.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="30"
          cacheexpirationpolicy="Absolute" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS"
 Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<html>
  <head>
    <title>ObjectDataSource - C# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.CS.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="30"
          cacheexpirationpolicy="Absolute" />

    </form>
  </body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.jsl"
 Assembly="Samples.AspNet.jsl" %>
<%@ Page Language="VJ#" %>
<html>
  <head>
    <title>ObjectDataSource - VJ# Example</title>
  </head>
  <body>
    <form id="Form1" method="post" runat="server">

        <asp:gridview
          id="GridView1"
          runat="server"
          datasourceid="ObjectDataSource1" />

        <asp:objectdatasource
          id="ObjectDataSource1"
          runat="server"
          typename="Samples.AspNet.jsl.EmployeeLogic"
          selectmethod="GetAllEmployeesAsDataSet"
          enablecaching="True"
          cacheduration="30"
          cacheexpirationpolicy="Absolute" />

    </form>
  </body>
</html>

DataSet オブジェクト返すラッパー メソッド実装し、ObjectDataSource コントロールキャッシュフィルタ処理有効にする方法次のコード例示しますEmployeeLogic クラス基本実装では、GetAllEmployees メソッドは ArrayList を返しますWeb フォーム ページObjectDataSource使用するためにオブジェクトを完全にリファクタリングする代わりに一連の NorthwindEmployee データDataSet として返す GetAllEmployeesAsDataSet という名前のラッパー メソッド追加されています。このコード例は、ObjectDataSource クラストピック取り上げているコード例一部分です。

' To support basic filtering, the employees cannot
' be returned as an array of objects, rather as a
' DataSet of the raw data values.
Public Shared Function GetAllEmployeesAsDataSet()
 As DataSet
   Dim employees As ICollection = GetAllEmployees()

   Dim ds As New DataSet("Table")

   ' Create the schema of the DataTable.
   Dim dt As New DataTable()
   Dim dc As DataColumn
   dc = New DataColumn("FirstName",
 GetType(String))
   dt.Columns.Add(dc)
   dc = New DataColumn("LastName",
 GetType(String))
   dt.Columns.Add(dc)
   dc = New DataColumn("Title",
 GetType(String))
   dt.Columns.Add(dc)
   dc = New DataColumn("Courtesy",
 GetType(String))
   dt.Columns.Add(dc)
   dc = New DataColumn("Supervisor",
 GetType(Int32))
   dt.Columns.Add(dc)

   ' Add rows to the DataTable.
   Dim emplEnum As IEnumerator = employees.GetEnumerator()
   Dim row As DataRow
   Dim ne As NorthwindEmployee
   While emplEnum.MoveNext()
      ne = CType(emplEnum.Current, NorthwindEmployee)
      row = dt.NewRow()
      row("FirstName") = ne.FirstName
      row("LastName") = ne.LastName
      row("Title") = ne.Title
      row("Courtesy") = ne.Courtesy
      row("Supervisor") = ne.Supervisor
      dt.Rows.Add(row)
   End While
   ' Add the complete DataTable to the DataSet.
   ds.Tables.Add(dt)

   Return ds
End Function 'GetAllEmployeesAsDataSet
//
// To support basic filtering, the employees cannot
// be returned as an array of objects, rather as a
// DataSet of the raw data values.
public static DataSet GetAllEmployeesAsDataSet
 () {
  ICollection employees = GetAllEmployees();

  DataSet ds = new DataSet("Table");

  // Create the schema of the DataTable.
  DataTable dt = new DataTable();
  DataColumn dc;
  dc = new DataColumn("FirstName", typeof(string));
 dt.Columns.Add(dc);
  dc = new DataColumn("LastName",  typeof(string));
 dt.Columns.Add(dc);
  dc = new DataColumn("Title",     typeof(string));
 dt.Columns.Add(dc);
  dc = new DataColumn("Courtesy",  typeof(string));
 dt.Columns.Add(dc);
  dc = new DataColumn("Supervisor",typeof(Int32)); 
 dt.Columns.Add(dc);

  // Add rows to the DataTable.
  IEnumerator emplEnum = employees.GetEnumerator();
  DataRow row;
  NorthwindEmployee ne;
  while (emplEnum.MoveNext()) {
    ne = emplEnum.Current as NorthwindEmployee;
    row = dt.NewRow();
    row["FirstName"]  = ne.FirstName;
    row["LastName"]   = ne.LastName;
    row["Title"]      = ne.Title;
    row["Courtesy"]   = ne.Courtesy;
    row["Supervisor"] = ne.Supervisor;
    dt.Rows.Add(row);
  }
  // Add the complete DataTable to the DataSet.
  ds.Tables.Add(dt);

  return ds;
}
//
// To support basic filtering, the employees cannot
// be returned as an array of objects, rather as a
// DataSet of the raw data values.
public static DataSet GetAllEmployeesAsDataSet()
 throws NorthwindDataException
{
    ICollection employees = GetAllEmployees();

    DataSet ds = new DataSet("Table");
    // Create the schema of the DataTable.
    DataTable dt = new DataTable();
    DataColumn dc;
    dc = new DataColumn("FirstName", String.class.ToType());
    dt.get_Columns().Add(dc);
    dc = new DataColumn("LastName", String.class.ToType());
    dt.get_Columns().Add(dc);
    dc = new DataColumn("Title", String.class.ToType());
    dt.get_Columns().Add(dc);
    dc = new DataColumn("Courtesy", String.class.ToType());
    dt.get_Columns().Add(dc);
    dc = new DataColumn("Supervisor", Int32.class.ToType());
    dt.get_Columns().Add(dc);
    // Add rows to the DataTable.
    IEnumerator emplEnum = employees.GetEnumerator();
    DataRow row;
    NorthwindEmployee ne;
    while (emplEnum.MoveNext()) {
        ne = (NorthwindEmployee)emplEnum.get_Current();
        row = dt.NewRow();
        row.set_Item("FirstName", ne.get_FirstName());
        row.set_Item("LastName", ne.get_LastName());
        row.set_Item("Title", ne.get_Title());
        row.set_Item("Courtesy", ne.get_Courtesy());
        row.set_Item("Supervisor", (Int32)ne.get_Supervisor());
        dt.get_Rows().Add(row);
    }
    // Add the complete DataTable to the DataSet.
    ds.get_Tables().Add(dt);

    return ds;
} //GetAllEmployeesAsDataSet

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ObjectDataSource クラス
ObjectDataSource メンバ
System.Web.UI.WebControls 名前空間
ObjectDataSource.CacheDuration プロパティ
EnableCaching


このページでは「.NET Framework クラス ライブラリ リファレンス」からObjectDataSource.CacheExpirationPolicy プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からObjectDataSource.CacheExpirationPolicy プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からObjectDataSource.CacheExpirationPolicy プロパティ を検索

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

辞書ショートカット

すべての辞書の索引

「ObjectDataSource.CacheExpirationPolicy プロパティ」の関連用語

ObjectDataSource.CacheExpirationPolicy プロパティのお隣キーワード
検索ランキング

   

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



ObjectDataSource.CacheExpirationPolicy プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS