다음을 통해 공유


SqlDataSource.CacheExpirationPolicy 속성

정의

기간과 결합될 때 데이터 소스 컨트롤에서 사용하는 캐시의 동작을 설명하는 캐시 만료 동작을 가져오거나 설정합니다.

public:
 virtual property System::Web::UI::DataSourceCacheExpiry CacheExpirationPolicy { System::Web::UI::DataSourceCacheExpiry get(); void set(System::Web::UI::DataSourceCacheExpiry value); };
public virtual System.Web.UI.DataSourceCacheExpiry CacheExpirationPolicy { get; set; }
member this.CacheExpirationPolicy : System.Web.UI.DataSourceCacheExpiry with get, set
Public Overridable Property CacheExpirationPolicy As DataSourceCacheExpiry

속성 값

DataSourceCacheExpiry 값 중 하나입니다. 기본값은 Absolute 값입니다.

예제

다음 코드 예제에는 Microsoft SQL Server에서 Northwind 데이터베이스에서 데이터를 검색에서 표시 하는 방법을 보여 줍니다.는 GridView 컨트롤, 데이터 캐싱을 사용 하도록 설정 합니다. 때문에 CacheExpirationPolicy 속성을 Sliding 값을 사용자가 새 데이터도 표시 되지 것입니다는 CacheDuration 값은 20 초. 캐시 된 데이터는 이후 마지막으로 페이지 로드 20 초 이상에 대 한 페이지에서 활동이 없는 경우에 새로 고쳐집니다.

<!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"
                CacheExpirationPolicy="Sliding"
                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 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"
                CacheExpirationPolicy="Sliding"
                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 메서드, 기본 데이터베이스에서 데이터를 검색 하 고 다시 데이터를 캐시 합니다.

캐시의 동작의 조합으로 결정 됩니다 합니다 CacheDurationCacheExpirationPolicy 설정 합니다. 경우는 CacheExpirationPolicy 속성을 Absolute 값을 SqlDataSource 첫 번째 데이터 검색 작업에 데이터를 캐시, 지정 된 시간 동안 메모리에 보관는 CacheDuration 속성을 다음 시간 후 삭제 하 고 경과 합니다. 다음 작업 중에 캐시 한 다음 새로 고쳐집니다. 경우는 CacheExpirationPolicy 속성을 Sliding 값을 데이터 소스 컨트롤은 첫 번째 데이터 검색 작업에서 데이터를 캐시 하지만 각 후속 작업에 대 한 캐시를 포함 하는 시간 창을 다시 설정 합니다. 해당 시간 동안 활동이 없는 경우 캐시가 만료 되는 CacheDuration 마지막 값 Select 작업 합니다.

합니다 SqlDataSource 컨트롤에서 데이터를 캐시할 수의 경우에만 DataSet 모드입니다. NotSupportedException 예외를 throw를 Select 메서드를 경우 합니다 SqlDataSource 로 설정 되어를 DataReader 값 및 캐싱도 사용 합니다.

중요

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

적용 대상

추가 정보