asp.net(c#)从Cache对象删除项(学习日记二)
上篇文章中说到什么是 Cache对象,如何在ASP.NET中使用 Cache对象。下面我们来说说如何在ASP.NET中删除项。
ASP.NET Cache 对象设计用于保证它并不使用过多的服务器内存。结果是,当用内存变得缺乏时,Cache对象自动删除最少被使用的项。你可以通过定义时间限制、依赖项、以及项
在Cache对象中的优先级来影响 Cache对象保存和删除项的方式。
Cache对象中的项只要是依赖或时间限制被触发,就是立即被删除。试图获取被删除的项将返回null值,除非项再次被添加到 Cache对象中。
绝对期限
你可以使用 AbsoluteEXpiration 参数为项定义最大的绝对生存期。此参数是 DateTime 类型的参数,允许你指定项过期的时间。
我在下面的代码指定了从创建起5分钟后,myValue 从 Cache 对象中被删除:
Cache.Insert("myKey", myValue, null, DateTime.Now.AddMinutes(5), Cache.NoSlidingExpiration);
滑动期限
你可以通过使用 SlidingExpiration 参数为项定义最大的相对生存期。这是一个 TimeSpan 类型参数,允许你指定每个对象自从最后一次访问后的时间间隔以及何时对象到期。
我在下面的代码指定了 myValue 最后的访问的20分钟后被从 Cache对象中删除:
Cache.Insert("myKey", myValue, null, null, TimeSpan.fromSeconds(20));
依赖项
有时你想某对象从 Cache对象中被删除,因为支持的项,如文件已经改变。ASP.NET 允许你基于依赖项或另一个缓存的项来定义缓存项的合法性。基于外部文件和目录的依赖项被
称为文件依赖项,依赖于另一个缓存项的依赖项被称为键依赖项。如果依赖项改变,缓存的项被称为不合法,然后从Cache对象中删除。
我在下面的代码指定了当 myDoc.xml 文件更改时,myValue 从 Cache对象中删除:
Cache.Insert("myKey", myValue, new CacheDependency(Server.MapPath("myDoc.xml")));
缓存项优先级
当网络服务器运行的内存可用量降低时,Cache对象有选择地删除项以释放系统内存。你指定高一点优先级的项较低可能从缓存中被删除,而被指定为低一些优先级的项被删除的可能性就要大一些。
我在下列代码指定了 myValue 有高优先级,将成为当服务器内存被限制时,最后从 Cache对象删除的项之一:
Cache.Insert("myKey", myValue, null, null, Cache.NoSlidingExpiration, CacheItemPriority.High, onRemove);
设置 Cache.Insert 中参数的示例
下列代码将一个 MyBook 的值使用许多参数插入到了
相关文档:
2.1 ASP.net 入门
通常谈一个学科,我们老是说,它入门很简单的嘛,ASP.net也是。ASP.net提出一个概念,就是认为WEB页面,也是一个窗体,所以,学习过面向对象编程的VB VC BC Dephi的朋友,学起来就简单多了。
一个ASP.net页面的后缀名是".aspx",所以,IIS在你安装完ASP.net时,也会把Default.aspx作为你的默认 ......
asp.net允许上传的文件的最大为4M
如果想要传更大的需要更改web.config文件
<system.web>
<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
</ststem.web> ......
废话不说,直接代码部分代码摘抄自网上,在此想原作者表示感谢
1、服务端 uploadFile.ashx
<%@ WebHandler Language="VB" Class="UploadFile" %>
Imports System
Imports System.Web
Imports System.Web.HttpServerUtility
Imports System.IO
Imports System.Web.HttpRequest
Public Class UploadFile : Impl ......