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

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

ObjectDataSource.EnableCaching プロパティ

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

ObjectDataSource コントロールでデータ ャッシュが有効かどうかを示す値を取得または設定します。

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

Public Overridable Property
 EnableCaching As Boolean
Dim instance As ObjectDataSource
Dim value As Boolean

value = instance.EnableCaching

instance.EnableCaching = value
public virtual bool EnableCaching { get;
 set; }
/** @property */
public boolean get_EnableCaching ()

/** @property */
public void set_EnableCaching (boolean value)
public function get EnableCaching
 () : boolean

public function set EnableCaching
 (value : boolean)

プロパティ値
データ ソース コントロールでデータ キャッシュが有効な場合は true。それ以外の場合は false。既定値は false です。

例外例外
例外の種類条件

NotSupportedException

SelectMethod プロパティで指定されたメソッドが DbDataReader を返す場合、EnableCaching プロパティは true に設定されます。

解説解説
使用例使用例

このセクションには、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 プロパティ
ObjectDataSource.CacheExpirationPolicy プロパティ



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



ObjectDataSource.EnableCaching プロパティのページの著作権

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

©2026 GRAS Group, Inc.RSS