Compartilhar via


XmlDataSource.CacheExpirationPolicy Propriedade

Definição

Obtém ou define a política de expiração de cache que é combinada com a duração do cache para descrever o comportamento do cache que o controle de fonte de dados usa.

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

Valor da propriedade

DataSourceCacheExpiry

Um dos valores de DataSourceCacheExpiry. A configuração de política de expiração de cache padrão é Absolute.

Exemplos

O exemplo de código a seguir demonstra como habilitar o cache ao usar o XmlDataSource controle para exibir dados contidos em um arquivo XML. Caching está habilitada quando a EnableCaching propriedade está definida true e o CacheDuration conjunto é definido como o número de segundos em que os dados são armazenados em cache pelo controle da fonte de dados.

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

O arquivo XML no exemplo de código tem os seguintes dados:

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

Comentários

O comportamento do cache é regido por uma combinação de CacheDuration configurações e CacheExpirationPolicy configurações. Se estiver CacheExpirationPolicy definido como Absolute, os dados de XmlDataSource cache na primeira operação de recuperação de dados, os manterão na memória pelo período de tempo especificado e CacheDurationos invalida após o término do tempo. Em seguida, o cache é atualizado na próxima operação. Se for CacheExpirationPolicy definido como Sliding, o controle da fonte de dados armazenará dados em cache na primeira operação de recuperação de dados, mas redefinirá a janela de tempo para a qual ele mantém o cache em cada operação subsequente. O cache expirará somente se não houver atividade por um tempo igual ao CacheDuration da última recuperação de dados.

Aplica-se a

Confira também