SqlDataSource.CacheExpirationPolicy 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í chování vypršení platnosti mezipaměti, které v kombinaci s dobou trvání popisuje chování mezipaměti, kterou používá řízení zdrojů dat.
public:
virtual property System::Web::UI::DataSourceCacheExpiry CacheExpirationPolicy { System::Web::UI::DataSourceCacheExpiry get(); void set(System::Web::UI::DataSourceCacheExpiry value); };
public virtual System.Web.UI.DataSourceCacheExpiry CacheExpirationPolicy { get; set; }
member this.CacheExpirationPolicy : System.Web.UI.DataSourceCacheExpiry with get, set
Public Overridable Property CacheExpirationPolicy As DataSourceCacheExpiry
Hodnota vlastnosti
Jedna z DataSourceCacheExpiry hodnot. Výchozí hodnota je Absolute hodnota.
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 s povolenou GridView ukládáním dat do mezipaměti. Vzhledem k tomu, že CacheExpirationPolicy vlastnost je nastavena na Sliding hodnotu, uživatelé neuvidí nová data, i když CacheDuration je hodnota 20 sekund. Data uložená v mezipaměti se aktualizují jenom v případě, že na stránce není více než 20 sekund od posledního načtení stránky žádná aktivita.
<!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"
CacheExpirationPolicy="Sliding"
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>
<!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"
CacheExpirationPolicy="Sliding"
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. Zatímco jsou data uložená v mezipaměti, Select metoda načítá data z mezipaměti místo z podkladové databáze. Po vypršení Select platnosti mezipaměti metoda načte data z podkladové databáze a potom data znovu ukládá do mezipaměti.
Chování mezipaměti je určeno kombinací CacheDuration nastavení a CacheExpirationPolicy nastavení. CacheExpirationPolicy Pokud je vlastnost nastavena na Absolute hodnotu, SqlDataSource ukládá data do mezipaměti při první operaci načítání dat, uchovává ji v paměti po dobu určenou CacheDuration vlastností a poté ji zahodí po uplynutí času. Mezipaměť se pak aktualizuje během další operace. CacheExpirationPolicy Pokud je vlastnost nastavena na Sliding hodnotu, ovládací prvek zdroje dat ukládá data do mezipaměti při první operaci načítání dat, ale resetuje časové okno, které obsahuje mezipaměť pro každou další operaci. Platnost mezipaměti vyprší, pokud po dobu, která se rovná CacheDuration hodnotě od poslední Select operace, neexistuje žádná aktivita.
Ovládací SqlDataSource prvek může ukládat data do mezipaměti pouze v DataSet režimu. Metoda NotSupportedException vyvolá Select výjimku, pokud SqlDataSource je ovládací prvek nastaven na DataReader hodnotu a ukládání do mezipaměti je také povoleno.
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 jiný uživatel požádá o stejná data, data se načtou z mezipaměti. Data se nenačtou dalším voláním databáze, aby ověřila přístup uživatele k datům. Pokud očekáváte, že k datům přistupuje více než jeden uživatel a chcete, aby každé načtení dat ověřilo konfigurace zabezpečení pro databázi, nepoužívejte ukládání do mezipaměti.