XmlDataSource.EnableCaching Egenskap

Definition

Hämtar eller anger ett värde som anger om XmlDataSource kontrollen har datacachelagring aktiverat.

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

Egenskapsvärde

trueom datacachelagring är aktiverat för datakällans kontroll. annars . false Standardvärdet är true.

Exempel

Följande kodexempel visar hur du aktiverar cachelagring när du använder XmlDataSource kontrollen för att visa data som finns i en XML-fil. Cachelagring aktiveras när EnableCaching egenskapen är inställd på true och CacheDuration anges till det antal sekunder som data cachelagras av datakällans kontroll.

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

XML-filen i kodexemplet har följande 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>

Kommentarer

Kontrollen XmlDataSource cachelagrar automatiskt data när egenskapen är inställd på EnableCachingtrue. Som standard CacheDuration är egenskapen inställd på 0, vilket anger en obegränsad cache och datakällan cachelagrar data tills XML-filen som den är beroende av ändras. Om du anger CacheDuration egenskapen till ett värde som är större än 0 lagrar cacheminnet data under så många sekunder innan du hämtar en ny uppsättning.

Om egenskapen EnableCaching är inställd på true och TransformArgumentList egenskapen har angetts, ogiltigförklaras inte cacheposterna automatiskt när parametrarna ändras i argumentlistan transformeringar. I så fall måste du skriva kod för att ogiltigförklara cacheminnet genom att ange CacheKeyDependency egenskapen .

Gäller för

Se även