XmlDataSource.CacheDuration Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il numero di secondi durante i quali il controllo origine dati memorizza nella cache i dati che ha recuperato.
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; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.DataSourceCacheDurationConverter))>]
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. Il valore predefinito è 0.
- Attributi
Esempio
Nell'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. La memorizzazione nella cache è abilitata quando la EnableCaching proprietà è impostata su e viene CacheDuration impostato true
sul numero di secondi in cui i dati vengono memorizzati nella cache dal controllo origine dati.
<%@ 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 contiene i dati seguenti:
<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 nella cache i dati quando si applica quanto segue:
La proprietà EnableCaching è impostata su
true
.La CacheDuration proprietà è impostata su un valore maggiore di 0, che indica il numero di secondi in cui la cache archivia i dati prima che la cache venga invalidata.
Qualsiasi modifica apportata Data alla proprietà o al contenuto del file che contiene i dati XML causa l'invalidazione della cache.
Per impostazione predefinita, la CacheDuration proprietà è impostata su 0, che indica una cache indefinita e l'origine dati memorizza nella cache i dati fino a quando non viene modificato il file XML da cui dipende.
Il comportamento della cache è regolato da una combinazione della durata e dell'impostazione CacheExpirationPolicy . Se CacheExpirationPolicy è impostato su Absolute, il XmlDataSource controllo memorizza nella cache i dati nella prima operazione di recupero dei dati, lo contiene in memoria per la quantità di tempo specificata da CacheDuratione la invalida dopo la scadenza del tempo. La cache viene quindi aggiornata al termine dell'operazione successiva. Se CacheExpirationPolicy è impostato su Sliding, il controllo origine dati memorizza nella cache i dati nella prima operazione di recupero dati, ma reimposta l'intervallo di tempo per il quale contiene la cache al momento di ogni operazione successiva. La cache scadrà solo se non è presente alcuna attività per un periodo di tempo uguale a CacheDuration dopo l'ultimo recupero dei dati.