Aracılığıyla paylaş


XmlDataSource.CacheDuration Özellik

Tanım

Veri kaynağı denetiminin aldığı verileri önbelleğe aldığı süreyi saniye cinsinden alır veya ayarlar.

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

Özellik Değeri

Denetimin XmlDataSource bir veri alma işleminin sonuçlarını önbelleğe alması için gereken saniye sayısı. Varsayılan değer 0'tir.

Öznitelikler

Örnekler

Aşağıdaki kod örneği, xml dosyasındaki verileri görüntülemek için denetimi kullanırken XmlDataSource önbelleğe almayı etkinleştirmeyi gösterir. Özelliği olarak ayarlandığında true ve CacheDuration veri kaynağı denetimi tarafından verilerin önbelleğe alındığı saniye sayısına ayarlandığında önbelleğe alma etkinleştirilirEnableCaching.

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

Kod örneğindeki XML dosyasında aşağıdaki veriler vardır:

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

Açıklamalar

Denetim XmlDataSource , aşağıdakiler geçerli olduğunda verileri otomatik olarak önbelleğe alır:

  • EnableCaching özelliği true olarak ayarlanmıştır.

  • CacheDuration özelliği, önbelleğin geçersiz kılınmadan önce verileri depoladığı saniye sayısını gösteren 0'dan büyük bir değere ayarlanır.

ÖZELLIĞInde Data veya XML verilerini içeren dosyanın içeriğinde yapılan herhangi bir değişiklik, önbelleğin geçersiz kılınmalarına neden olur.

Varsayılan olarak özelliği CacheDuration 0 olarak ayarlanır ve bu, süresiz bir önbelleği gösterir ve veri kaynağı, bağlı olduğu XML dosyası değiştirilene kadar verileri önbelleğe alır.

Önbelleğin davranışı, süre ve CacheExpirationPolicy ayarın bir bileşimiyle yönetilir. olarak ayarlanırsa CacheExpirationPolicyAbsoluteXmlDataSource, denetim verileri ilk veri alma işleminde önbelleğe alır, tarafından CacheDurationbelirtilen süre boyunca bellekte tutar ve zaman dolduktan sonra geçersiz kılır. Bir sonraki işlemde önbellek yenilenir. olarak ayarlanırsa CacheExpirationPolicySliding, veri kaynağı denetimi ilk veri alma işlemindeki verileri önbelleğe alır, ancak sonraki her işlemde önbelleği tuttuğu zaman penceresini sıfırlar. Önbelleğin süresi yalnızca son veri alımından bu yana değerine CacheDuration eşit bir süre boyunca etkinlik olmadığında sona erer.

Şunlara uygulanır

Ayrıca bkz.