ASP.NET Tutorial/Cache/Cache class
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>