XmlDataSource.EnableCaching Propriété

Définition

Obtient ou définit une valeur indiquant si la mise en cache de données du contrôle XmlDataSource est activée.

public:
 virtual property bool EnableCaching { bool get(); void set(bool value); };
public virtual bool EnableCaching { get; set; }
member this.EnableCaching : bool with get, set
Public Overridable Property EnableCaching As Boolean

Valeur de propriété

Boolean

true si la mise en cache est activée pour le contrôle de source de données ; sinon, false. La valeur par défaut est true.

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é est définie true et que celle-ci CacheDuration est définie sur le nombre de secondes auxquelles 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 de 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 la EnableCaching propriété est définie sur true. 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 il dépend soit modifié. Si vous définissez la CacheDuration propriété sur une valeur supérieure à 0, le cache stocke les données pendant ce nombre de secondes avant de récupérer un nouvel ensemble.

Si la EnableCaching propriété est définie et que la TransformArgumentList propriété est définietrue, les entrées de cache ne sont pas automatiquement invalidées lorsque les paramètres changent dans la liste d’arguments de transformation. Dans ce cas, vous devez écrire du code pour invalider le cache en définissant la CacheKeyDependency propriété.

S’applique à

Voir aussi