XmlDataSource.CacheDuration Propriété

Définition

Obtient ou définit la durée, en secondes, de la mise en cache par le contrôle de source de données des données qu'il a récupérées.

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

Valeur de propriété

Nombre de secondes de la mise en cache par le contrôle XmlDataSource des résultats d'une opération de récupération de données. La valeur par défaut est 0.

Attributs

Exemples

L’exemple de code suivant montre comment activer la mise en cache lors de l’utilisation du XmlDataSource contrôle pour afficher les données contenues dans un fichier XML. La mise en cache est activée lorsque la EnableCaching propriété a la true valeur et que le CacheDuration est défini sur le nombre de secondes pendant lesquelles les données sont mises en cache par le contrôle de source de données.

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

Le fichier XML dans l’exemple de code contient les données suivantes :

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

Remarques

Le XmlDataSource contrôle met automatiquement en cache les données lorsque les éléments suivants s’appliquent :

  • La propriété EnableCaching est définie sur true.

  • La CacheDuration propriété est définie sur une valeur supérieure à 0, ce qui indique le nombre de secondes pendant lesquelles le cache stocke les données avant que le cache ne soit invalidé.

Toute modification apportée à la Data propriété ou au contenu du fichier qui contient les données XML entraîne l’invalidation du cache.

Par défaut, la CacheDuration propriété est définie sur 0, ce qui indique un cache indéfini, et la source de données met en cache les données jusqu’à ce que le fichier XML dont elle dépend soit modifié.

Le comportement du cache est régi par une combinaison de la durée et du CacheExpirationPolicy paramètre. Si CacheExpirationPolicy a la Absolutevaleur , le XmlDataSource contrôle met en cache les données lors de la première opération de récupération des données, les conserve en mémoire pendant la durée spécifiée par CacheDuration, et les invalide une fois le délai écoulé. Le cache est ensuite actualisé lors de l’opération suivante. Si CacheExpirationPolicy est défini sur Sliding, le contrôle de source de données met en cache les données lors de la première opération de récupération des données, mais réinitialise la fenêtre de temps pour laquelle il conserve le cache à chaque opération suivante. Le cache n’expirera que s’il n’y a aucune activité pendant une durée égale à la CacheDuration depuis la dernière récupération des données.

S’applique à

Voir aussi