다음을 통해 공유


XmlDataSource.CacheDuration 속성

정의

데이터 소스 컨트롤에서 검색한 데이터를 캐시하는 시간(초)을 가져오거나 설정합니다.

public:
 virtual property int CacheDuration { int get(); void set(int value); };
[System.ComponentModel.TypeConverter(typeof(System.Web.UI.DataSourceCacheDurationConverter))]
public virtual int CacheDuration { get; set; }
[<System.ComponentModel.TypeConverter(typeof(System.Web.UI.DataSourceCacheDurationConverter))>]
member this.CacheDuration : int with get, set
Public Overridable Property CacheDuration As Integer

속성 값

Int32

XmlDataSource 컨트롤에서 데이터 검색 작업의 결과를 캐시하는 시간(초)입니다. 기본값은 0입니다.

특성

예제

다음 코드 예제에서는 사용 하는 경우 캐싱을 사용 하도록 설정 하는 방법에 설명 합니다 XmlDataSource XML 파일에 포함 된 데이터를 표시 하는 컨트롤입니다. 캐싱을 사용 하는 경우는 EnableCaching 속성이로 설정 되어 trueCacheDuration 데이터 소스 컨트롤에서 데이터 캐시 되는 시간 (초) 수로 설정 됩니다.

<%@ 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:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="books.xml"
        enablecaching="True"
        cacheduration="60"
        cacheexpirationpolicy="Sliding" />

      <!- TreeView uses hierachical data, so the
          XmlDataSource uses an XmlHierarchicalDataSourceView
          when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding datamember="book" textfield="title"/>
        </databindings>
      </asp:treeview>

    </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:xmldatasource
        id="XmlDataSource1"
        runat="server"
        datafile="books.xml"
        enablecaching="True"
        cacheduration="60"
        cacheexpirationPolicy="Sliding" />

      <!- TreeView uses hierachical data, so the
          XmlDataSource uses an XmlHierarchicalDataSourceView
          when a TreeView is bound to it. -->

      <asp:treeview
        id="TreeView1"
        runat="server"
        datasourceid="XmlDataSource1">
        <databindings>
          <asp:treenodebinding datamember="book" textfield="title"/>
        </databindings>
      </asp:treeview>

    </form>
  </body>
</html>

코드 예제에서 XML 파일에 다음 데이터가 있습니다.

<books>  
   <computerbooks>  
     <book title="Secrets of Silicon Valley" author="Sheryl Hunter"/>  
     <book title="Straight Talk About Computers" author="Dean Straight"/>  
     <book title="You Can Combat Computer Stress!" author="Marjorie Green"/>  
   </computerbooks>  
   <cookbooks>  
     <book title="Silicon Valley Gastronomic Treats" author="Innes del Castill"/>  
   </cookbooks>  
</books>  

설명

XmlDataSource 은 다음과 같은 경우 자동으로 데이터를 캐시 제어:

  • EnableCaching 속성이 true로 설정되어 있습니다.

  • CacheDuration 속성 캐시는 캐시를 무효화 하기 전에 데이터를 저장 하는 시간 (초) 수를 나타내는 0 보다 큰 값으로 설정 됩니다.

변경 된 Data 속성 또는 XML 데이터를 포함 하는 파일의 내용을 하면 캐시가 무효화 됩니다.

기본적으로 CacheDuration 속성 무한 캐시를 나타내는 0으로 설정 되 고 종속 되는 XML 파일이 변경 될 때까지 데이터 원본의 데이터를 캐시 합니다.

캐시의 동작 기간의 조합에 따라 적용 됩니다 및 CacheExpirationPolicy 설정 합니다. 경우 CacheExpirationPolicy 로 설정 된 AbsoluteXmlDataSource 제어는 첫 번째 데이터 검색 작업에 데이터를 캐시, 지정 된 시간 동안 메모리에 보관 CacheDuration, 경과 되 면 무효화 합니다. 다음 작업 시에 캐시 한 다음 새로 고쳐집니다. 하는 경우 CacheExpirationPolicy 로 설정 된 Sliding, 데이터 소스 컨트롤은 첫 번째 데이터 검색 작업에서 데이터를 캐시 하지만 각 후속 작업에 대 한 캐시를 보유 하는 기간을 다시 설정 합니다. 활동이 없는 시간 동안 같은 경우에 캐시 만료 됩니다를 CacheDuration 이후 마지막 데이터 검색 합니다.

적용 대상

추가 정보