我被微软害苦了! Context.Cache的使用

    学习.NET,学习WEB服务,那不如动手实践下!
    用微软的例子程序:TaskVision,里面正好是一个智能客户端,一个WEB服务,符合要求。
    正好一个项目可以拿来练笔:用到里面的语句
Context.Cache.Insert(encryptedTicket, userID, null, DateTime.Now.AddMinutes(timeout), TimeSpan.Zero);
    意思让一个标签timeout分后失效。
    可就好,写好运行,总是偶尔有效,估摸十次有一次有效,标签能正常加进去,苦恼了两天,才发现是.NET2.0改变了写法,不能和1.1那样使用了。
正确用法是:
<1>            // 采用N分钟后过期策略
            Context.Cache.Insert(encryptedTicket, userID, null, DateTime.Now.AddMinutes(timeout), System.Web.Caching.Cache.NoSlidingExpiration);
<2>
            // 采用N分钟没有使用则过期策略
            Context.Cache.Insert(encryptedTicket, userID, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(timeout));           
一切其实也在帮助中,那十次有一次有效的偶尔性是怎么回事情,也没力气分析了,
System.Web.Caching.Cache.NoAbsoluteExpiration 和用DateTime.MaxValue效果一样。

posted on 2006-12-10 21:37 孤岛 阅读(3277) 评论(2) 编辑 收藏

评论

#1楼 2007-02-02 19:45 cat[匿名][未注册用户]

谢谢你的文章,帮我解决了一个难题  回复 引用   

#2楼 2007-10-15 16:43 daijun[未注册用户]

当内存资源很少的时候,Cache对象会自动从内存中清除.所以当你从Cache中取数据的时候,你永远也

不能保证它不被清除,所以一定要进行检查.

myItem=Cache("myItem")

if myItem is nothing then
'从新取得数据
end if
 回复 引用   

<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

公告

昵称:孤岛
园龄:5年3个月
粉丝:0
关注:0

搜索

 
 

常用链接

最新随笔

随笔档案

文章分类

C#

WWF

花海

占山为王

最新评论

阅读排行榜

评论排行榜

推荐排行榜