XmlDataSource.CacheDuration Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví dobu v sekundách, po kterou ovládací prvek zdroje dat ukládá data do mezipaměti, která načetla.
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
Hodnota vlastnosti
Počet sekund, po XmlDataSource který ovládací prvek ukládá výsledky operace načítání dat do mezipaměti. Výchozí hodnota je 0.
- Atributy
Příklady
Následující příklad kódu ukazuje, jak povolit ukládání do mezipaměti při použití XmlDataSource ovládacího prvku k zobrazení dat obsažených v souboru XML. Ukládání do mezipaměti je povoleno, EnableCaching když je vlastnost nastavena na true
hodnotu a CacheDuration hodnota je nastavená na počet sekund, po který jsou data uložena do mezipaměti ovládacím prvku zdroje dat.
<%@ 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>
Soubor XML v příkladu kódu obsahuje následující 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>
Poznámky
Ovládací XmlDataSource prvek automaticky ukládá data do mezipaměti, pokud platí následující:
Vlastnost EnableCaching je nastavena na hodnotu
true
.Vlastnost CacheDuration je nastavena na hodnotu větší než 0, což označuje počet sekund, po které mezipaměť ukládá data, než bude mezipaměť zneplatněná.
Jakákoli změna Data vlastnosti nebo obsahu souboru, který obsahuje data XML způsobí zneplatnění mezipaměti.
Ve výchozím nastavení CacheDuration je vlastnost nastavena na hodnotu 0, což označuje neomezenou mezipaměť a zdroj dat bude ukládat data do mezipaměti, dokud se nezmění soubor XML, na kterém závisí.
Chování mezipaměti se řídí kombinací doby trvání a CacheExpirationPolicy nastavení. Pokud CacheExpirationPolicy je nastavená hodnota Absolute, XmlDataSource ovládací prvek ukládá data do mezipaměti při první operaci načítání dat, uchovává je v paměti po dobu určenou v nástroji CacheDurationa po uplynutí této doby je zneplatní. Mezipaměť se pak aktualizuje při další operaci. Pokud CacheExpirationPolicy je nastavená hodnota Sliding, uloží řízení zdroje dat data do mezipaměti při první operaci načtení dat, ale při každé další operaci obnoví časové období, ve kterém mezipaměť uchovává. Platnost mezipaměti vyprší pouze v případě, že po dobu od CacheDuration posledního načtení dat neexistuje žádná aktivita.