ASP.NET Tutorial/Cache/Cache class

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Save data to Cache if it is not there

   <source lang="csharp">

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="SimpleDataCache" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">

   <title>Untitled Page</title>

</head> <body>

   <form id="form1" runat="server">
       <asp:Button ID="Button1" runat="server" Text="Post Back" />
       

<asp:Label ID="lblInfo" runat="server"></asp:Label>
   </form>

</body> </html> File: Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class SimpleDataCache : System.Web.UI.Page {

 protected void Page_Load(Object sender, EventArgs e)
 {
   if (this.IsPostBack)
   {
lblInfo.Text += "Page posted back.
";
   }
   else
   {
lblInfo.Text += "Page created.
";
   }
   if (Cache["TestItem"] == null)
   {
     DateTime testItem = DateTime.Now;
lblInfo.Text += "cache for 30 seconds.
";
     Cache.Insert("TestItem", testItem, null,DateTime.Now.AddSeconds(30), TimeSpan.Zero);
   }
   else
   {
     lblInfo.Text += "Retrieving TestItem...
"; DateTime testItem = (DateTime)Cache["TestItem"]; lblInfo.Text += "TestItem is "" + testItem.ToString(); } }

}</source>


Using Data Caching

   <source lang="csharp">

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server">

   public class CacheItem
   {
       private string _key;
       private object _value;
       public string Key
       {
           get { return _key; }
       }
       public string Value
       {
           get { return _value.ToString(); }
       }
       public CacheItem(string key, object value)
       {
           _key = key;
           _value = value;
       }
   }
   void Page_Load()
   {
       ArrayList items = new ArrayList();
       foreach (DictionaryEntry item in Cache)
           items.Add(new CacheItem(item.Key.ToString(),item.Value));
       grdCache.DataSource = items;
       grdCache.DataBind();
   }

</script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server">

   <style type="text/css">
       .grid td, .grid th
       {
           padding:5px;
       }
   </style>
   <title>Enumerate Cache</title>

</head> <body>

   <form id="form1" runat="server">
   <asp:GridView
       id="grdCache"
       CssClass="grid"
       Runat="server" />
   </form>

</body> </html></source>