XmlDataSource.EnableCaching Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение позволяющее определить, включено ли кэширование для элемента управления XmlDataSource.
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
Значение свойства
Значение true
, если кэширование данных для элемента управления источником данных включено; в противном случае — значение false
. Значение по умолчанию — true
.
Примеры
В следующем примере кода показано, как включить кэширование при использовании XmlDataSource элемента управления для отображения данных, содержащихся в XML-файле. Кэширование включено, если EnableCaching свойству true
присвоено значение и CacheDuration задано количество секунд, в течение которых данные кэшируются системой управления источниками данных.
<%@ 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-файл в примере кода содержит следующие данные:
<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>
Комментарии
Элемент XmlDataSource управления автоматически кэширует данные, если EnableCaching свойство имеет значение true
. По умолчанию CacheDuration свойство имеет значение 0, которое указывает на неопределенный кэш, а источник данных будет кэшировать данные до тех пор, пока НЕ изменится XML-файл, от которого он зависит. Если для свойства задано CacheDuration значение больше 0, кэш сохраняет данные за несколько секунд до получения нового набора.
EnableCaching Если свойство задано true
и TransformArgumentList свойство задано, записи кэша не становятся недействительными автоматически при изменении параметров в списке аргументов преобразований. В этом случае необходимо написать код, чтобы сделать кэш недействительным, задав CacheKeyDependency свойство.