SqlDataSource.EnableCaching Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient ou définit une valeur indiquant si la mise en cache des données est activée pour le SqlDataSource contrôle.
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 des données 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é est définie lorsque la EnableCaching mise en cache n’est pas prise en charge par le SqlDataSource.true
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 l’afficher dans un GridView contrôle, avec la mise en cache des données activée. La EnableCaching propriété est définie true sur et la CacheDuration valeur est de 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 des données nouvelles 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. Pendant que 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 met à nouveau en cache les données.
Le SqlDataSource contrôle met automatiquement en cache les données lorsque la EnableCaching propriété est définie true et la CacheDuration propriété est définie sur 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 nouvel ensemble.
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 à partir 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 attendez 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.