다음을 통해 공유


SqlDataSource.EnableCaching 속성

정의

SqlDataSource 컨트롤에서 데이터 캐싱이 활성화되어 있는지 여부를 나타내는 값을 가져오거나 설정합니다.

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

속성 값

데이터 소스 컨트롤에서 데이터 캐싱을 사용할 수 있으면 true이고, 그렇지 않으면 false입니다. 기본값은 false입니다.

예외

EnableCaching에서 캐싱 기능을 지원하지 않을 때 SqlDataSource 속성이 true로 설정된 경우

예제

다음 코드 예제에는 Microsoft SQL Server에서 Northwind 데이터베이스에서 데이터를 검색에서 표시 하는 방법을 보여 줍니다.는 GridView 컨트롤, 데이터 캐싱을 사용 하도록 설정 합니다. 합니다 EnableCaching 속성이 true 하며 CacheDuration 20 초로 설정 됩니다. 때문에 합니다 CacheExpirationPolicy 속성을 Absolute 기본적으로이 페이지의 사용자 필드 새로운 데이터 20 초 마다 표시 됩니다.

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

설명

SqlDataSource 컨트롤이 데이터 캐싱을 지원 합니다. 데이터 캐시 되어 있는 동안은 Select 메서드 기본 데이터베이스 대신 캐시에서 데이터를 검색 합니다. 캐시가 만료 되는 Select 메서드, 기본 데이터베이스에서 데이터를 검색 하 고 다시 데이터를 캐시 합니다.

SqlDataSource 컨트롤은 자동으로 데이터를 캐시 때 합니다 EnableCaching 속성이로 설정 되어 trueCacheDuration 속성 캐시를 검색 하기 전에 데이터를 저장 하는 시간 (초) 수를 나타내는 0 보다 큰 값으로 설정 됩니다는 새 집합입니다.

중요

Microsoft Windows 인증에서 클라이언트 가장을 사용 하는 첫 번째 사용자 데이터에 액세스 하는 경우 데이터 캐시 됩니다. 다른 사용자가 동일한 데이터를 요청 하는 경우 데이터 캐시에서 검색 됩니다. 데이터를 호출 하 여 다른 데이터베이스로 데이터에 대 한 사용자의 액세스를 확인 하려면 검색 되지 않습니다. 데이터에 액세스 하는 둘 이상의 사용자를 예상 하는 경우 각 검색 데이터를 데이터베이스에 대 한 보안 구성으로 확인에 캐싱을 사용 하지 마십시오.

적용 대상

추가 정보