XmlDataSource.CacheDuration Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger hur lång tid, i sekunder, som datakällans kontroll cachelagrar data som den har hämtat.
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
Egenskapsvärde
Antalet sekunder som XmlDataSource kontrollen cachelagrar resultatet av en datahämtningsåtgärd. Standardvärdet är 0.
- Attribut
Exempel
Följande kodexempel visar hur du aktiverar cachelagring när du använder XmlDataSource kontrollen för att visa data som finns i en XML-fil. Cachelagring aktiveras när EnableCaching egenskapen är inställd på true och CacheDuration anges till det antal sekunder som data cachelagras av datakällans kontroll.
<%@ 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>
XML-filen i kodexemplet har följande 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>
Kommentarer
Kontrollen XmlDataSource cachelagrar automatiskt data när följande gäller:
Egenskapen EnableCaching är inställd på
true.Egenskapen CacheDuration är inställd på ett värde som är större än 0, vilket anger antalet sekunder som cacheminnet lagrar data innan cachen ogiltigförklaras.
Ändringar i Data egenskapen eller innehållet i filen som innehåller XML-data gör att cacheminnet ogiltigförklaras.
Som standard CacheDuration är egenskapen inställd på 0, vilket anger en obegränsad cache och datakällan cachelagrar data tills XML-filen som den är beroende av ändras.
Cachens beteende styrs av en kombination av varaktigheten CacheExpirationPolicy och inställningen. Om CacheExpirationPolicy är inställt AbsoluteXmlDataSource på cachelagrar kontrollen data vid den första datahämtningsåtgärden, lagrar dem i minnet under den tid som anges av CacheDurationoch ogiltigförklarar dem när tiden har förföll. Cachen uppdateras sedan vid nästa åtgärd. Om CacheExpirationPolicy är inställt Slidingpå cachelagrar datakällkontrollen data vid den första datahämtningsåtgärden, men återställer tidsfönstret som den innehåller cachen för vid varje efterföljande åtgärd. Cacheminnet upphör bara att gälla om det inte finns någon aktivitet under en tid som är lika med CacheDuration sedan den senaste datahämtningen.