Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout

SqlDataSource.EnableCaching, propriété

Remarque : cette propriété est nouvelle dans le .NET Framework version 2.0.

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

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public virtual bool EnableCaching { get; set; }
/** @property */
public boolean get_EnableCaching ()

/** @property */
public void set_EnableCaching (boolean value)

public function get EnableCaching () : boolean

public function set EnableCaching (value : boolean)

Valeur de la propriété

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

Type d'exceptionCondition

NotSupportedException

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

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

Le contrôle SqlDataSource met automatiquement les données en cache lorsque la propriété EnableCaching a la valeur true et lorsque la valeur de la propriété CacheDuration est supérieure à 0, indiquant le nombre de secondes pendant lesquelles le cache stocke les données avant de récupérer un jeu actualisé.

Remarque de sécuritéRemarque de sécurité

Lorsque vous utilisez l'emprunt d'identité du client dans le cadre de 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, elles 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 prévoyez que plusieurs utilisateurs accèdent aux données et souhaitez que chaque récupération de 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.

L'exemple de code suivant illustre comment récupérer des données de la base de données Northwind dans Microsoft SQL Server et les afficher dans un contrôle GridView, avec la mise en cache de données activée. La propriété EnableCaching a la valeur true et CacheDuration a la valeur de 20 secondes. Étant donné que le champ Absolute est affecté par défaut à la propriété CacheExpirationPolicy, les utilisateurs de cette page consulteront des données actualisées toutes les 20 secondes.

<%@ Page language="CS" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
    <BODY>
        <FORM 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>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<HTML>
    <BODY>
        <FORM runat="server">

            <asp:SqlDataSource
                id="SqlDataSource1"
                runat="server"
                DataSourceMode="DataSet"
                ConnectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;"
                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>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft