XmlDataSource.CacheDuration Egenskap

Definition

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.

Gäller för

Se även