SqlDataSource.EnableCaching Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví hodnotu označující, zda SqlDataSource má ovládací prvek povolenou ukládání dat do mezipaměti.
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
Hodnota vlastnosti
true
pokud je pro ovládací prvek zdroje dat povoleno ukládání dat do mezipaměti; v opačném případě . false
Výchozí formát je false
.
Výjimky
Vlastnost EnableCaching je nastavena na hodnotu true
, pokud není ukládání do mezipaměti podporováno SqlDataSourcenástrojem .
Příklady
Následující příklad kódu ukazuje, jak načíst data z databáze Northwind v Microsoft SQL Serveru a zobrazit je v ovládacím prvku GridView s povolenou ukládání dat do mezipaměti. Vlastnost EnableCaching je nastavená na true
a CacheDuration hodnota je nastavená na 20 sekund. Vzhledem k tomu, že CacheExpirationPolicy vlastnost je ve výchozím nastavení nastavená Absolute na pole, budou se uživatelům této stránky každých 20 sekund zobrazovat nová data.
<%@ 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:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataSet"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
EnableCaching="True"
CacheDuration="20"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
</asp:SqlDataSource>
<asp:GridView
id="GridView1"
runat="server"
AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<columns>
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
<asp:BoundField HeaderText="Title" DataField="Title" />
</columns>
</asp:GridView>
</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:SqlDataSource
id="SqlDataSource1"
runat="server"
DataSourceMode="DataSet"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
EnableCaching="True"
CacheDuration="20"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees">
</asp:SqlDataSource>
<asp:GridView
id="GridView1"
runat="server"
AutoGenerateColumns="False"
DataSourceID="SqlDataSource1">
<columns>
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
<asp:BoundField HeaderText="Title" DataField="Title" />
</columns>
</asp:GridView>
</form>
</body>
</html>
Poznámky
Ovládací SqlDataSource prvek podporuje ukládání dat do mezipaměti. Při ukládání dat do mezipaměti Select metoda načítá data z mezipaměti, nikoli z podkladové databáze. Po vypršení platnosti Select mezipaměti metoda načte data z podkladové databáze a pak je znovu ukládá do mezipaměti.
Ovládací SqlDataSource prvek automaticky ukládá data do mezipaměti, když EnableCaching je vlastnost nastavena na true
a CacheDuration vlastnost je nastavena na hodnotu větší než 0, což označuje počet sekund, po které mezipaměť ukládá data před načtením nové sady.
Důležité
Pokud používáte zosobnění klienta v rámci ověřování Systému Microsoft Windows, data se ukládají do mezipaměti, když k datům přistupuje první uživatel. Pokud o stejná data požádá jiný uživatel, načte se data z mezipaměti. Data se nenačtou dalším voláním databáze k ověření přístupu uživatele k datům. Pokud očekáváte, že k datům bude přistupovat více uživatelů a chcete, aby každé načtení dat bylo ověřeno konfigurací zabezpečení databáze, nepoužívejte ukládání do mezipaměti.