Partager via


SqlDataSource.EnableCaching Propriété

Définition

Obtient ou définit une valeur indiquant si la mise en cache de données du contrôle SqlDataSource est activée.

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

Valeur de propriété

true si la mise en cache est activée pour le contrôle de source de données ; sinon, false. La valeur par défaut est false.

Exceptions

La propriété EnableCaching a la valeur true lorsque la mise en cache n'est pas prise en charge par SqlDataSource.

Exemples

L’exemple de code suivant montre comment récupérer des données de la base de données Northwind dans Microsoft SQL Server et les afficher dans un GridView contrôle, avec la mise en cache des données activée. La EnableCaching propriété est définie sur true et le CacheDuration est défini sur 20 secondes. Étant donné que la CacheExpirationPolicy propriété est définie sur le Absolute champ par défaut, les utilisateurs de cette page verront de nouvelles données toutes les 20 secondes.

<%@ 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>

Remarques

Le SqlDataSource contrôle prend en charge la mise en cache des données. Lorsque les données sont mises en cache, la Select méthode récupère les données du cache plutôt que de la base de données sous-jacente. Lorsque le cache expire, la Select méthode récupère les données de la base de données sous-jacente, puis les met à nouveau en cache.

Le SqlDataSource contrôle met automatiquement en cache les données lorsque la EnableCaching propriété est définie sur true et que la CacheDuration propriété a une valeur supérieure à 0, ce qui indique le nombre de secondes pendant lesquelles le cache stocke les données avant de récupérer un nouveau jeu.

Important

Lorsque vous utilisez l’emprunt d’identité client sous l’authentification Microsoft Windows, les données sont mises en cache lorsque le premier utilisateur accède aux données. Si un autre utilisateur demande les mêmes données, les données sont récupérées du cache. Les données ne sont pas récupérées en effectuant un autre appel à la base de données pour vérifier l’accès de l’utilisateur aux données. Si vous vous attendez à ce que plusieurs utilisateurs accèdent aux données et que vous souhaitez que chaque récupération des données soit vérifiée par les configurations de sécurité de la base de données, n’utilisez pas la mise en cache.

S’applique à

Voir aussi