XmlDataSource.EnableCaching Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą, czy kontrolka XmlDataSource ma włączoną buforowanie danych.
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
Wartość właściwości
true
jeśli buforowanie danych jest włączone dla kontroli źródła danych; w przeciwnym razie , false
. Wartość domyślna to true
.
Przykłady
W poniższym przykładzie kodu pokazano, jak włączyć buforowanie podczas używania kontrolki XmlDataSource do wyświetlania danych zawartych w pliku XML. Buforowanie jest włączona, gdy EnableCaching właściwość jest ustawiona true
na i CacheDuration jest ustawiona na liczbę sekund buforowanych przez kontrolę źródła danych.
<%@ 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>
Plik XML w przykładzie kodu zawiera następujące dane:
<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>
Uwagi
Kontrolka XmlDataSource automatycznie buforuje dane, gdy właściwość jest ustawiona EnableCaching na true
. Domyślnie CacheDuration właściwość jest ustawiona na 0, co wskazuje na nieskończoną pamięć podręczną, a źródło danych będzie buforować dane do momentu zmiany pliku XML, od którego zależy. Jeśli właściwość zostanie ustawiona CacheDuration na wartość większą niż 0, pamięć podręczna przechowuje dane przez wiele sekund przed pobraniem nowego zestawu.
EnableCaching Jeśli właściwość jest ustawiona na true
i TransformArgumentList właściwość jest ustawiona, wpisy pamięci podręcznej nie są automatycznie unieważniane, gdy parametry zmieniają się na liście argumentów przekształcenia. W takim przypadku należy napisać kod, aby unieważnić pamięć podręczną CacheKeyDependency , ustawiając właściwość .