Share via


XmlDataSource.CacheDuration Vlastnost

Definice

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.

Platí pro

Viz také