XmlDataSource.CacheDuration XmlDataSource.CacheDuration XmlDataSource.CacheDuration XmlDataSource.CacheDuration Property

Definizione

Ottiene o imposta il numero di secondi durante i quali il controllo origine dati memorizza nella cache i dati che ha recuperato.Gets or sets the length of time, in seconds, that the data source control caches data it has retrieved.

public:
 virtual property int CacheDuration { int get(); void set(int value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.DataSourceCacheDurationConverter))]
public virtual int CacheDuration { get; set; }
member this.CacheDuration : int with get, set
Public Overridable Property CacheDuration As Integer

Valore della proprietà

Numero di secondi durante i quali il controllo XmlDataSource memorizza nella cache i risultati di un'operazione di recupero dei dati.The number of seconds that the XmlDataSource control caches the results of a data retrieval operation. Il valore predefinito è 0.The default value is 0.

Esempi

Esempio di codice seguente viene illustrato come abilitare la memorizzazione nella cache quando si usa il XmlDataSource controllo per visualizzare i dati contenuti in un file XML.The following code example demonstrates how to enable caching when using the XmlDataSource control to display data contained in an XML file. La memorizzazione nella cache è abilitata quando il EnableCaching è impostata su true e il CacheDuration è impostato sul numero di secondi durante i quali viene memorizzato nella cache i dati dal controllo origine dati.Caching is enabled when the EnableCaching property is set to true and the CacheDuration is set to the number of seconds that the data is cached by the data source control.

<%@ 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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>

    <form id="form1" runat="server">
      <asp:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="books.xml"
        enablecaching="True"
        cacheduration="60"
        cacheexpirationpolicy="Sliding" />

      <!- TreeView uses hierachical data, so the
          XmlDataSource uses an XmlHierarchicalDataSourceView
          when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding datamember="book" textfield="title"/>
        </databindings>
      </asp:treeview>

    </form>
  </body>
</html>
<%@ Page Language="VB" %>
<!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 runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">

      <asp:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="books.xml"
        enablecaching="True"
        cacheduration="60"
        cacheexpirationPolicy="Sliding" />

      <!- TreeView uses hierachical data, so the
          XmlDataSource uses an XmlHierarchicalDataSourceView
          when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding datamember="book" textfield="title"/>
        </databindings>
      </asp:treeview>

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

Il file XML nell'esempio di codice presenta i seguenti dati:The XML file in the code example has the following data:

<books>  
   <computerbooks>  
     <book title="Secrets of Silicon Valley" author="Sheryl Hunter"/>  
     <book title="Straight Talk About Computers" author="Dean Straight"/>  
     <book title="You Can Combat Computer Stress!" author="Marjorie Green"/>  
   </computerbooks>  
   <cookbooks>  
     <book title="Silicon Valley Gastronomic Treats" author="Innes del Castill"/>  
   </cookbooks>  
</books>  

Commenti

Il XmlDataSource controllo memorizza automaticamente i dati quando si applica quanto segue:The XmlDataSource control automatically caches data when the following applies:

  • La proprietà EnableCaching è impostata su true.The EnableCaching property is set to true.

  • Il CacheDuration proprietà è impostata su un valore maggiore di 0, che indica il numero di secondi durante i quali la cache memorizza i dati prima che la cache viene invalidata.The CacheDuration property is set to a value greater than 0, which indicates the number of seconds that the cache stores data before the cache is invalidated.

Qualsiasi modifica di Data l'invalidamento della cache a causa di proprietà o il contenuto del file che contiene i dati XML.Any change to the Data property or the contents of the file that contains the XML data causes the cache to be invalidated.

Per impostazione predefinita, il CacheDuration proprietà è impostata su 0, che indica che un'istanza di cache indefinito, e l'origine dati memorizza nella cache i dati fino a quando non viene modificato il file XML da cui dipende.By default, the CacheDuration property is set to 0, which indicates an indefinite cache, and the data source will cache data until the XML file that it depends on is changed.

Il comportamento della cache è determinato da una combinazione della durata e il CacheExpirationPolicy impostazione.The behavior of the cache is governed by a combination of the duration and the CacheExpirationPolicy setting. Se CacheExpirationPolicy è impostata su Absolute, il XmlDataSource controllo memorizza nella cache i dati nella prima operazione di recupero dati, li mantiene in memoria per la quantità di tempo specificato dal CacheDuratione invalida viene trascorso il tempo.If CacheExpirationPolicy is set to Absolute, the XmlDataSource control caches data on the first data retrieval operation, holds it in memory for the amount of time specified by CacheDuration, and invalidates it after the time has lapsed. La cache viene quindi aggiornata durante l'operazione successiva.The cache is then refreshed upon the next operation. Se CacheExpirationPolicy è impostata su Sliding, il controllo origine dati memorizza nella cache i dati nella prima operazione di recupero dati, ma reimposta l'intervallo di tempo che vengono mantenuti nella cache per ogni operazione successiva.If CacheExpirationPolicy is set to Sliding, the data source control caches data on the first data retrieval operation, but resets the time window that it holds the cache for upon each subsequent operation. La cache scadrà solo se non vi è alcuna attività per un periodo di tempo uguale al CacheDuration dall'ultimo recupero dei dati.The cache will only expire if there is no activity for a time equal to the CacheDuration since the last data retrieval.

Si applica a

Vedi anche