SqlDataSource.EnableCaching Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Denetimin veri önbelleğe alma özelliğinin SqlDataSource etkinleştirilip etkinleştirilmediğini belirten bir değer alır veya ayarlar.
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
Özellik Değeri
true
veri kaynağı denetimi için veri önbelleğe alma etkinleştirildiyse; aksi takdirde , false
. Varsayılan değer: false
.
Özel durumlar
EnableCaching özelliği, önbelleğe true
alma özelliği tarafından SqlDataSourcedesteklenmediğinde olarak ayarlanır.
Örnekler
Aşağıdaki kod örneği, Microsoft SQL Server'daki Northwind veritabanından veri almayı ve veri önbelleğe alma etkin bir GridView denetimde görüntülemeyi gösterir.
EnableCaching özelliği olarak true
ve CacheDuration 20 saniye olarak ayarlanır.
CacheExpirationPolicy özelliği varsayılan olarak alana ayarlandığındanAbsolute, bu sayfanın kullanıcıları her 20 saniyede bir yeni verileri görür.
<%@ 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>
Açıklamalar
Denetim, SqlDataSource veri önbelleğe almayı destekler. Veriler önbelleğe alınırken yöntemi verileri Select temel alınan veritabanından değil önbellekten alır. Önbelleğin süresi dolduğunda yöntemi, Select temel alınan veritabanından verileri alır ve ardından verileri yeniden önbelleğe alır.
SqlDataSource Özellik olarak ayarlandığında ve özellik 0'dan büyük bir değere ayarlandığında true
denetim verileri otomatik olarak önbelleğe EnableCaching alır ve CacheDuration bu da önbelleğin yeni bir kümeyi almadan önce verileri depoladığı saniye sayısını gösterir.
Önemli
Microsoft Windows kimlik doğrulaması altında istemci kimliğe bürünme özelliğini kullandığınızda, veriler ilk kullanıcı verilere eriştiğinde önbelleğe alınır. Başka bir kullanıcı aynı verileri isterse, veriler önbellekten alınır. Veriler, kullanıcının verilere erişimini doğrulamak için veritabanına başka bir çağrı yapılarak alınmaz. Verilere birden fazla kullanıcının erişmesini bekliyorsanız ve her veri alımının veritabanının güvenlik yapılandırmaları tarafından doğrulanmasını istiyorsanız, önbelleğe almayı kullanmayın.