Cache的Add之委托解说

正文

想了想还是写了吧,虽然知识含量比较低。。。。。

获取数据放到缓存中,自己用Add添加的结果老是报参数错误,我擦咧,自己还总感觉是委托的问题。

call.Invoke("key", o, CacheItemRemovedReason.Removed);

System.Web.Caching.CacheItemRemovedCallback call = new System.Web.Caching.CacheItemRemovedCallback(Callback);

HttpRuntime.Cache.Add("i",o,null,DateTime.Now,20000, System.Web.Caching.CacheItemPriority.Default,call);

问题就出现了,看了半天这个委托,还是没有搞明白。说到底对委托还是不够理解,最后又查看了一下委托的用法,发现自己的用法是没有问题的。最后不得不查一下Add的用法。

HttpRuntime.Cache.Add("Key", o, null, DateTime.Now.AddSeconds(60), TimeSpan.Zero, CacheItemPriority.High, call);

回调函数没问题,只是时间戳的问题,人家是TimeSpan类型的,我直接理解成写个数字就ok了。所以这个参数改了就没问题了。

重点其实想说的是委托的含义,委托是什么呢,定义一个委托其实就定义个函数变量,可以这么理解更加容易一下,当我们把这个委托具体指向某一个具体的方法时候,其实就是为了这个变量赋值的过程。如果委托不作为参数的话,那么完全可以直接调用只是加一个大括号。如果作为参数,那么把这个变量名称直接传过去就ok了,就像上面例子的调用一下。不知道这样说是否说明白了呢。。。。欢迎各路大神指点

时间: 2024-10-28 20:51:57

Cache的Add之委托解说的相关文章

细说 ASP.NET Cache 及其高级用法

许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用HttpRuntime.Cache访问到的那个Cache,而不是其它的缓存技术. 以前我在[我心目中的Asp.net核心对象] 这篇博客中简单地提过它,今天我打算为它写篇专题博客,专门来谈谈它,因为它实在是太重要了.在这篇博客中, 我不仅要介绍它的一些常见用法,还将介绍它的一些高级用法. 在上篇博客[在.net中读写config文件的各种方法] 的

细说 ASP.NET Cache 及其高级用法【转】

阅读目录 开始 Cache的基本用途 Cache的定义 Cache常见用法 Cache类的特点 缓存项的过期时间 缓存项的依赖关系 - 依赖其它缓存项 缓存项的依赖关系 - 文件依赖 缓存项的移除优先级 缓存项的移除通知 巧用缓存项的移除通知 实现[延迟操作] 巧用缓存项的移除通知 实现[自动加载配置文件] 文件监视技术的选择 各种缓存方案的共存 许多做过程序性能优化的人,或者关注过程程序性能的人,应该都使用过各类缓存技术. 而我今天所说的Cache是专指ASP.NET的Cache,我们可以使用

委托(delegate)

委托(dekegate)是一种动态调用方法的类型,与类.接口和数组相同,属于引用型,可以用来实现多路广播(MulticastDelegate). 多路广播(MulticastDelegate):可以用"+""-"将多个委托对象合并.移除,可以使用"+="添加委托对象,"-="移除委托对象. 委托的特点: 1)委托类似于C++函数指针,但与指针不同的是,委托是完全面向对象的,是安全的数据类型: 2)委托允许将方法作为参数进行传递

C#_委托与事件

委托: 把方法当作参数进行传递 public delegate void AddDelegate(string name); public class Ad{ //addDelegate就是委托的一个实例,把方法当作参数进行传递进去,逻辑分离,解除耦合 public static void AddHander(string name,AddDelegate addDelegate){ addDelegate(name);//调用该方法 } } public static void Add(str

C#委托(Delegate)学习日记

在.NET平台下,委托类型用来定义和响应应用程序中的回调.事实上,.NET委托类型是一个类型安全的对象,指向可以以后调用的其他方法.和传统的C++函数指针不同,.NET委托是内置支持多路广播和异步方法调用的对象. 委托类型包含3个重要信息: 它所调用的方法的名称 该方法的参数 该方法的返回值 1.定义一个委托类型 // 这个委托可以指向任何传入两个整数,返回整数的方法 public delegate int BinaryOp(int x,int y); 创建一个委托类型时,需要使用delegat

Apache shiro集群实现 (七)分布式集群系统下---cache共享

Apache shiro集群实现 (一) shiro入门介绍 Apache shiro集群实现 (二) shiro 的INI配置 Apache shiro集群实现 (三)shiro身份认证(Shiro Authentication) Apache shiro集群实现 (四)shiro授权(Authentication)--访问控制 Apache shiro集群实现 (五)分布式集群系统下的高可用session解决方案 Apache shiro集群实现 (六)分布式集群系统下的高可用session

细说委托

在正式介绍委托之前,我想下看看生活中委托的例子——生活中,如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师执行的是当事人的陈词,这时候律师就是一个委托对象,当事人委托律师这个对象去帮自己辩护.这就是我们生活中委托的例子的.然而C#中委托的概念也就好比律师对象(从中可以得出委托是一个类,因为只有类才有对象的概念,从而也体现了C#是面向对象的语言). 介绍完生活中委托是个什么后,现在就看看C#中的委托怎样和生活中的对象联系起来的,C#中的委托相当于C++中的函数指针(如果之前学过C++就知

正式进入C#的世界——委托

委托(delegate)1.可以认为是这样的对象,它包含具有相同签名和返回值类型的有序方法列表.2.可以理解为函数的一个包装,它使得C#中的函数可以作为参数来被传递. 委托的定义和方法的定义类似,只是在定义的前面多一个delegate关键字. public delegate void MyDelegate( int para1, string para2);//包装public void MyMethod(int a, string b); //返回类型相同,参数个数,顺序和类型相同. 方法的签

C#编程之委托与事件四(一)【转】

C#编程之委托与事件(一) 本文试图在.net Framework环境下,使用C#语言来描述委托.事件的概貌.希望本文能有助于大家理解委托.事件的概念,理解委托.事件的用途,理解它的C#实现方法,理解委托与事件为我们带来的好处.C#是一种新的语言,希望大家能通过本文清楚地看到这些,从而可以对委托.事件等技术进行更深入的理解和探索. 一. 委托 委托的本质   --在C#中,委托是一个特殊的类:   --在某种程度上,相当于C++的函数指针:   --在某种程度上,相当于接口(Interface)