Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale
Questo argomento non è stato ancora valutato - Valuta questo argomento

Proprietà ObjectDataSource.CacheDuration

Ottiene o imposta la durata, in secondi, del controllo origine dati memorizzati nella cache i dati recuperati dalla proprietà di SelectMethod .

Spazio dei nomi:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)
[TypeConverterAttribute(typeof(DataSourceCacheDurationConverter))]
public virtual int CacheDuration { get; set; }
<asp:ObjectDataSource CacheDuration="Int32" />

Valore proprietà

Tipo: System.Int32
Il numero di secondi che ObjectDataSource memorizzare nella cache i risultati di una chiamata alla proprietà di SelectMethod . Il valore predefinito è 0. Il valore non può essere negativo.

Il controllo di ObjectDataSource supporta la cache di dati. Mentre i dati vengono memorizzati nella cache, le chiamate al metodo di Select recuperano i dati dalla cache anziché dall' oggetto business che ObjectDataSource l'utilizzo di. Quando la cache scade, il metodo di Select recupera i dati dall' oggetto business e quindi memorizza nella cache i dati di nuovo.

Il controllo di ObjectDataSource automaticamente memorizzare i dati nella cache quando la proprietà di EnableCaching è impostata su true e la proprietà di CacheDuration è impostata su un valore maggiore di 0, che indica il numero di secondi che i dati delle archivia la cache prima della voce della cache vengono rimossi. Un valore di 0 indica una cache infinitamente lungo.

La cache viene regolato da una combinazione della durata e dell' impostazione di CacheExpirationPolicy . Se la proprietà di CacheExpirationPolicy è impostata sul valore di Absolute , ObjectDataSource memorizzato nella cache i dati alla prima chiamata al metodo di Select e utilizzarlo in memoria per, al massimo, la quantità di tempo specificato dalla proprietà di CacheDuration . I dati vengano pubblicati prima del tempo di durata, se la memoria è necessaria. La cache viene aggiornato durante la successiva chiamata al metodo di Select . Se la proprietà di CacheExpirationPolicy è impostata su un valore di Sliding , il controllo origine dati memorizzati nella cache i dati alla prima chiamata al metodo di Select , ma reimposta l'intervallo di tempo per il quale si utilizza la cache in ogni chiamata successiva al metodo di Select . La cache scade se non c " è attività per un certo tempo che la proprietà di CacheDuration dall' ultima chiamata al metodo di Select .

In questa sezione sono contenuti due esempi di codice. Il primo esempio di codice seguente viene illustrato come un oggetto di ObjectDataSource supporta la memorizzazione nella cache. In il secondo esempio di codice seguente viene illustrato come implementare un metodo del wrapper che restituisce un oggetto di DataSet per abilitare la memorizzazione nella cache con un oggetto di ObjectDataSource .

In l ' esempio di codice seguente viene illustrato come un controllo di ObjectDataSource supporta la memorizzazione nella cache. Per abilitare la memorizzazione nella cache, è necessario implementare il metodo che recupera i dati, che sono identificati dalla proprietà di SelectMethod , per restituire i dati come oggetto di DataSet . In questo esempio, la proprietà di EnableCaching è impostata su truee le proprietà di CacheExpirationPolicy e di CacheDuration impostate. ObjectDataSource memorizzato nella cache i dati restituiti dalla proprietà di SelectMethod per 30 secondi.


<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %>
<%@ Page language="c#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <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>


In l ' esempio di codice seguente viene illustrato come implementare un metodo del wrapper che restituisce un oggetto di DataSet per abilitare la memorizzazione nella cache con un controllo di ObjectDataSource . In l ' implementazione di base della classe di EmployeeLogic , il metodo di GetAllEmployees restituisce un oggetto di ArrayList . Anziché effettuarne il refactoring l'oggetto completamente da utilizzare ObjectDataSource a una pagina Web Form, un metodo del wrapper denominato GetAllEmployeesAsDataSet viene aggiunto che restituisce un set di dati di NorthwindEmployee come DataSet.

Questo esempio di codice fa parte di un esempio più esaustivo fornito per la classe di 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 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;
}


.NET Framework

Supportato in: 4.5, 4, 3.5, 3.0, 2.0

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (ruoli di base del server non supportati), Windows Server 2008 R2 (ruoli di base del server supportati con SP1 o versione successiva, Itanium non supportato)

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.
Il documento è risultato utile?
(1500 caratteri rimanenti)

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
© 2013 Microsoft. Tutti i diritti riservati.