SqlDataSource.EnableCaching Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendapatkan atau menetapkan nilai yang menunjukkan apakah SqlDataSource kontrol mengaktifkan penembolokan data.
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
Nilai Properti
true
jika penembolokan data diaktifkan untuk kontrol sumber data; jika tidak, false
. Default adalah false
.
Pengecualian
Properti EnableCaching diatur ke true
ketika penembolokan tidak didukung oleh SqlDataSource.
Contoh
Contoh kode berikut menunjukkan cara mengambil data dari database Northwind di Microsoft SQL Server dan menampilkannya dalam GridView kontrol, dengan penembolokan data diaktifkan. Properti EnableCaching diatur ke true
dan CacheDuration diatur ke 20 detik.
CacheExpirationPolicy Karena properti diatur ke Absolute bidang secara default, pengguna halaman ini akan melihat data baru setiap 20 detik.
<%@ 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>
Keterangan
Kontrol SqlDataSource mendukung penembolokan data. Saat data di-cache, Select metode mengambil data dari cache daripada dari database yang mendasar. Ketika cache kedaluwarsa, Select metode mengambil data dari database yang mendasar, lalu cache data lagi.
SqlDataSource Kontrol secara otomatis menyimpan data saat EnableCaching properti diatur ke true
dan CacheDuration properti diatur ke nilai yang lebih besar dari 0, yang menunjukkan jumlah detik cache menyimpan data sebelum mengambil set baru.
Penting
Saat Anda menggunakan peniruan klien di bawah autentikasi Microsoft Windows, data di-cache saat pengguna pertama mengakses data. Jika pengguna lain meminta data yang sama, data diambil dari cache. Data tidak diambil dengan melakukan panggilan lain ke database untuk memverifikasi akses pengguna ke data. Jika Anda mengharapkan lebih dari satu pengguna mengakses data, dan Anda ingin setiap pengambilan data diverifikasi oleh konfigurasi keamanan untuk database, jangan gunakan penembolokan.