正文
想了想还是写了吧,虽然知识含量比较低。。。。。
获取数据放到缓存中,自己用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了,就像上面例子的调用一下。不知道这样说是否说明白了呢。。。。欢迎各路大神指点