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í 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

DataSourceCacheExpiry

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 Server 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 nastavená 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 od posledního načtení stránky není na stránce žádná aktivita delší než 20 sekund.

<!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. I když jsou data uložená v mezipaměti, Select metoda načte data z mezipaměti místo z podkladové databáze. Po vypršení platnosti Select mezipaměti metoda načte data z podkladové databáze a pak 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á je v paměti po dobu určenou CacheDuration vlastností a potom ji zahodí po vypršení doby. 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 není žádná aktivita po dobu, která se rovná CacheDuration hodnotě od poslední Select operace.

Ovládací SqlDataSource prvek může ukládat data do mezipaměti pouze v DataSet režimu. NotSupportedException Metoda 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í Microsoft Windows, data se ukládají do mezipaměti, když k datům přistupuje první uživatel. Pokud jiný uživatel požaduje stejná data, data se načtou z mezipaměti. Data se nenačítají 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 přistupuje více uživatelů a chcete, aby každé načítání dat ověřilo konfigurace zabezpečení databáze, nepoužívejte ukládání do mezipaměti.

Platí pro

Viz také