Sdílet prostřednictvím


XmlDataSource.CacheDuration Vlastnost

Definice

Získá nebo nastaví dobu v sekundách, kterou ovládací prvek zdroje dat ukládá do mezipaměti data, která načetl.

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 které XmlDataSource 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 pokud je vlastnost nastavena true a CacheDuration je nastavena na počet sekund, po které jsou data uložena do mezipaměti pomocí ovládacího 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 před zrušením platnosti mezipaměti.

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, která 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 nastavena na Absolutehodnotu , 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 CacheDurationhodnotou a zneplatní je po uplynutí doby. Mezipaměť se pak aktualizuje při další operaci. Pokud CacheExpirationPolicy je nastavená hodnota Sliding, ovládací prvek zdroje dat ukládá data do mezipaměti při první operaci načítání dat, ale resetuje časové okno, ve které uchovává mezipaměť pro každou další operaci. Platnost mezipaměti vyprší pouze v případě, že se žádná aktivita nerovná CacheDuration od posledního načtení dat.

Platí pro

Viz také