XmlDataSource.CacheDuration Eigenschap

Definitie

Hiermee haalt u de tijdsduur in seconden op of stelt u deze in dat de gegevensbronbeheer gegevens in de cache opspoort die zijn opgehaald.

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

Waarde van eigenschap

Het aantal seconden dat het besturingselement de resultaten van een bewerking voor het ophalen van gegevens in de XmlDataSource cache opgeslagen. De standaardwaarde is 0.

Kenmerken

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u caching inschakelt wanneer u het XmlDataSource besturingselement gebruikt om gegevens weer te geven die zijn opgenomen in een XML-bestand. Caching is ingeschakeld wanneer de EnableCaching eigenschap is ingesteld op true en het CacheDuration is ingesteld op het aantal seconden dat de gegevens in de cache worden opgeslagen door het besturingselement voor de gegevensbron.

<%@ 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>

Het XML-bestand in het codevoorbeeld bevat de volgende gegevens:

<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>

Opmerkingen

Het XmlDataSource besturingselement slaat automatisch gegevens in de cache op wanneer het volgende van toepassing is:

  • De eigenschap EnableCaching is ingesteld op true.

  • De CacheDuration eigenschap is ingesteld op een waarde die groter is dan 0, wat het aantal seconden aangeeft dat de cache gegevens opslaat voordat de cache ongeldig wordt gemaakt.

Elke wijziging in de Data eigenschap of de inhoud van het bestand dat de XML-gegevens bevat, zorgt ervoor dat de cache ongeldig wordt.

De eigenschap is standaard CacheDuration ingesteld op 0, wat aangeeft dat er een onbepaalde cache is. De gegevensbron slaat gegevens in de cache op totdat het XML-bestand waarvan het afhankelijk is, wordt gewijzigd.

Het gedrag van de cache wordt bepaald door een combinatie van de duur en de CacheExpirationPolicy instelling. Als CacheExpirationPolicy dit is ingesteld Absolute, slaat het besturingselement gegevens op in de XmlDataSource cache van de eerste bewerking voor het ophalen van gegevens, bewaart deze in het geheugen voor de hoeveelheid tijd die is opgegeven door CacheDurationen ongeldig nadat de tijd is verstreken. De cache wordt vervolgens vernieuwd bij de volgende bewerking. Als CacheExpirationPolicy dit is ingesteld, slaat het besturingselement voor gegevensbron gegevens op in de eerste bewerking voor het ophalen van gegevens, maar wordt het tijdvenster opnieuw ingesteld Slidingvoor de cache voor elke volgende bewerking. De cache verloopt alleen als er gedurende een tijd geen activiteit is die gelijk is aan de CacheDuration laatste keer dat gegevens worden opgehaald.

Van toepassing op

Zie ook