当前位置:K88软件开发文章中心编程语言.NETASP.NET → 文章内容

ASP.NET 数据缓存

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-23 13:58:14

rName %>" SelectCommand = "SELECT * FROM [DotNetReferences]" EnableCaching = "true" CacheDuration = "60"> </asp:SqlDataSource>对象缓存对象缓存比其他缓存技术提供了更大的灵活性。你可以利用对象缓存在缓存中放置任何对象。对象也可以是任意类型的 — 数据类型,网络控件,类,数据设置对象等等。仅仅需要给这些项目分配一个值名,它们就可以被添加到缓存中,就像下面展示的这样: Cache["key"] = item;为了在缓存中插入对象, ASP 提供了 Insert() 方法。这种方法有四种重载版本。我们来看一下: 重载描述Cache.Insert((key, value);以键值对的方式插入缓存,优先权和生命周期为默认 。Cache.Insert(key, value, dependencies);以键值对的方式插入缓存,优先权和生命周期为默认,和链接到其他文件或内容的缓存依赖,这样缓存修改就不再还有限的了。Cache.Insert(key, value, dependencies, absoluteExpiration, slidingExpiration);指出上述配置的有效期。Cache.Insert(key, value, dependencies, absoluteExpiration, slidingExpiration, priority, onRemoveCallback);与配置一起也允许设置缓存内容的优先权并委派,指出一种方法来调用当一个对象移除时。动态生命周期使用于移除一个不作用于任何一个指定的时间跨度的缓存项。下面代码段用来保存一个具有 10 分钟滑动生命周期的无依赖的缓存项:Cache.Insert("my_item", obj, null, DateTime.MaxValue, TimeSpan.FromMinutes(10));实例仅仅使用一个按钮和一个标签创建一个页面。在页面加载事件中写入如下代码: protected void Page_Load(object sender, EventArgs e){ if (this.IsPostBack) { lblinfo.Text += "Page Posted Back.<br/>"; } else { lblinfo.Text += "page Created.<br/>"; } if (Cache["testitem"] == null) { lblinfo.Text += "Creating test item.<br/>"; DateTime testItem = DateTime.Now; lblinfo.Text += "Storing test item in cache "; lblinfo.Text += "for 30 seconds.<br/>"; Cache.Insert("testitem", testItem, null, DateTime.Now.AddSeconds(30), TimeSpan.Zero); } else { lblinfo.Text += "Retrieving test item.<br/>"; DateTime testItem = (DateTime)Cache["testitem"]; lblinfo.Text += "Test item is: " + testItem.ToString(); lblinfo.Text += "<br/>"; } lblinfo.Text += "<br/>";}当页面第一次加载时,会显示: Page Created.Creating test item.Storing test item in cache for 30 seconds.如果你在 30 秒钟内再次点击按钮,虽然页面被删除了,但是标签控件会从缓存中得到信息,如下所示:Page Posted Back.Retrieving test item.Test item is: 14-07-2010 01:25:04

上一页  [1] [2] 


ASP.NET 数据缓存