• 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了,就像上面例子的调用一下。不知道这样说是否说明白了呢。。。。欢迎各路大神指点

  • 相关阅读:
    数和量的认识
    判断Exe(DLL)和符号文件是否匹配---验证模块和符号文件是否匹配的工具和方法
    CPU怎么计算1+1----CPU计算的电路基础
    java8-StreamAPI之collection归约操作
    java8-Stream流API
    java8-从Lamda到方法引用和构造引用
    java8-详解Lamda表达式
    Java8-Lamda和Stream原理引入
    jdk13-新特性预览
    mybatis配置
  • 原文地址:https://www.cnblogs.com/hackerxiaoyon/p/5508186.html
Copyright © 2020-2023  润新知