本次升级除了更新了发红包接口等接口之外,最重要的是重构了缓存模块。

如何升级?

之前的缓存是为Container设计的,原先的ContainerCacheStrategy继承自BaseCacheStragegy。这次更新之后,在ContainerCacheStrategy和BaseCacheStragegy中间加了一层ObjectCacheStrategy,用于处理所有Key为String类型的缓存(Value为Object类型)。

Sample中的代码已经进行了同步的修改。

所以如果您是在以前的版本上进行升级,必须要对代码做如下修改:

1、 ContainerCache缓存策略不再需要注册,改为对ObjectCache缓存策略的注册,例如:

原先的Container注册方法为(Redis为例):

CacheStrategyFactory.RegisterContainerCacheStrategy(() => RedisContainerCacheStrategy.Instance);//Redis

现在改为:

CacheStrategyFactory.RegisterObjectCacheStrategy(() => RedisObjectCacheStrategy.Instance);//Redis

注意:大部分的升级内容,只要编译一次就可以根据编译器报错找到修改的地方,但是上述lambda表达式中的 RedisObjectCacheStrategy ,即使保留原来的 RedisContainerCacheStrategy 也不会在编译时报错,所以需要格外注意!

2、CacheStrategyFactory.GetContainerCacheStrategyInstance()方法已经废除,现改为:

CacheStrategyFactory.GetObjectCacheStrategyInstance(); 返回的是ObjectCacheStrategy,不再是ContainerCacheStrategy

用法:

var objectCacheStrategy = CacheStrategyFactory.GetObjectCacheStrategyInstance();

现在的ContainerCacheStrategy实例可以从objectCacheStrategy .ContainerCacheStrategy获得,例如:

原先的containerCacheStrategy获取方法为:

CacheStrategyFactory.GetContainerCacheStrategyInstance()
现在改为:
CacheStrategyFactory.GetObjectCacheStrategyInstance().ContainerCacheStrategy

升级说明

本次更新之后看似某些部分缓存初始化的代码会更长一些(多数存在于SDK内部,开发者不会感觉到,所有的接口调用方法没有任何改变),但是对于SDK的扩展能力来说是一个新的里程碑:以前缓存策略专为Container设计(或者说Container优先),而目前的缓存策略已经可以支持几乎所有的缓存类型!这次升级为接下来SDK更多的功能升级提供了强有力的底层保证,尤其下一步包括小程序在内的实时互动开发提前奠定基础。

[公告][重要]Senparc.Weixin v4.9.0 & Senparc.Weixin.MP v14.3.104更新说明的更多相关文章

  1. [公告]Senparc.Weixin v4.7.0 升级说明(2016-08-08)

    本次升级包含了除QY以外所有的类库,升级内容包括: 1.重构Conatainer结构,删除 ItemCollection 属性,直接使用ContainerBag加入到缓存: 2.重构IContaine ...

  2. Senparc.Weixin SDK v5.0 升级公告

    经过五年半的持续维护,Senparc.Weixin SDK 逐步丰满和完善,在升级的过程中,我们为基础库(Senparc.Weixin.dll)加入了许多通用的功能,例如加密/解密算法.通用缓存方法等 ...

  3. [公告]Senparc.Weixin.MP v14.2.1 升级说明

    在Senparc.Weixin.MP v14.2.1中,所有Senparc.Weixin.MP下的Container,命名空间已经从 Senparc.Weixin.MP.CommonAPIs 改为了  ...

  4. 地图SDK全新版本v4.3.0上线 - 新增多项功能及优化

    以下内容转载自腾讯位置服务公众号的文章<地图SDK全新版本v4.3.0上线 - 新增多项功能及优化!> 作者:腾讯位置服务 链接:https://mp.weixin.qq.com/s/hb ...

  5. Fiddler录制jmeter脚本--V4.4..0.1版本

      圣诞节到了,圣诞老人送平安,我们送技术,我们知道以前jmeter的脚本来源有三个,手动书写.badboy录制.自带的录制功能(jmeter3.0该功能还比较好),目前我们又多了一个fiddler生 ...

  6. FineUIPro/Mvc/Core/JS v4.2.0 发布了(老牌ASP.NET控件库,WebForms,ASP.NET MVC,Core,JavaScript)!

    还记得 10 年前那个稍微青涩的 ExtAspNet 吗,如今她已脱胎换骨,变成了如下 4 款产品: FineUIPro:基于jQuery的经典款ASP.NET WebForms控件,之前的FineU ...

  7. OpenLayers v4.2.0 -----地图延迟加载;

    官方:http://openlayers.org/en/latest/examples/lazy-source.html <!DOCTYPE html> <html> < ...

  8. Android Support v4、v7、v13、v14、v17的区别和应用场景

    Android Support v4.v7.v13.v14.v17的区别和应用场景   本文链接:https://blog.csdn.net/Aquarius_Seven/article/detail ...

  9. import org.marker.weixin.DefaultSession; import org.marker.weixin.HandleMessageAdapter; import org.marker.weixin.MySecurity; import org.marker.weixin.msg.*;

    需要以下微信包可以添加我的微信公众号 回复“微信api”即可得到jar链接,以及maven添加本地jar方法,以及更改后的源代码 import org.marker.weixin.DefaultSes ...

随机推荐

  1. EXEC sp_executesql

    declare @sql nvarchar(max)declare @nu int set @sql='SELECT * FROM [FMTest].[dbo].[FM_Radio_Station]' ...

  2. json相关,浏览器打开json格式的api接口时,进行格式化,chrome插件

    在chrome浏览器中安装Google jsonview插件能够自动格式化json格式的数据.

  3. python 小程序 比较目录间的差异

    比较目录间的差异: I 只按照名称做了比较,如果目录的文件名称相同,但是内容不同脚本认为为相同文件 II 针对目录下面的目录没有循环比较,只是比较了目录的名称 import sys, os def d ...

  4. iOS drewRect方法

    You do not need to override this method if your view sets its content in other ways. By the time thi ...

  5. Scrum项目7.0

    队友: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...

  6. Android 中 LayoutInflater 的使用

    一.LayoutInflater 的作用 我们一般使用 LayoutInflater 做一件事:View inflate(int resource, ViewGroup root); inflate( ...

  7. [RxJava^Android]项目经验分享 --- RxLifecycle功能实现分析(一)

      最近在研究RxJava自定义操作符的实现原理,发现成型的项目案例较少.突然想起在项目中应用的RxLifecycle是使用自定义操作符,便拿来研究了一下.分析之前,跟大家了解一些相关操作符和RxLi ...

  8. web常见错误提示总结

    在写web程序的时候,经常会出现一些网页错误的数字提示,如果能够明白这些提示的含义,那对于调试程序是有极大帮助的.网上有很多这方面的总结,但为了适应自己的阅读习惯,以及日后的查找方便,就做了一些修改并 ...

  9. 一、JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

    背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数 ...

  10. Mac 终端 Linux 命令总结(简单命令)

    目录操作 命令名 功能描述 使用举例 mkdir 创建一个目录 mkdir dirname rmdir 删除一个目录 rmdir dirname mvdir 移动或重命名一个目录 mvdir dir1 ...