Sdílet prostřednictvím


SqlDataSource.CacheExpirationPolicy Vlastnost

Definice

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í zdroje 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 hodnota Absolute .

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. Vzhledem k tomu, že CacheExpirationPolicy vlastnost je nastavená Sliding na hodnotu, uživatelé neuvidí nová data, i když CacheDuration je hodnota 20 sekund. Data uložená v mezipaměti se aktualizují pouze v případě, že na stránce není žádná aktivita po dobu delší než 20 sekund od posledního načtení stránky.

<!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. 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.

Chování mezipaměti je určeno kombinací CacheDuration nastavení a CacheExpirationPolicy . CacheExpirationPolicy Pokud je vlastnost nastavená na Absolute hodnotu, SqlDataSource uloží data do mezipaměti při první operaci načtení dat, uloží je do paměti po dobu určenou CacheDuration vlastností a po uplynutí této doby je zahodí. 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čtení dat, ale resetuje časové období, ve kterém je uložena mezipaměť pro každou další operaci. Platnost mezipaměti vyprší, pokud po dobu, která se rovná hodnotě CacheDuration od poslední Select operace, neexistuje žádná aktivita.

Ovládací SqlDataSource prvek může ukládat data do mezipaměti pouze v režimu DataSet . Metoda NotSupportedException vyvolá Select výjimku, pokud SqlDataSource je ovládací prvek nastaven na DataReader hodnotu a je také povoleno ukládání do mezipaměti.

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.

Platí pro

Viz také