[公告][重要]Senparc.Weixin v4.9.0 Senparc.Weixin.MP v14.3.104更新说明
本次升級(jí)除了更新了發(fā)紅包接口等接口之外,最重要的是重構(gòu)了緩存模塊。
如何升級(jí)?
之前的緩存是為Container設(shè)計(jì)的,原先的ContainerCacheStrategy繼承自BaseCacheStragegy。這次更新之后,在ContainerCacheStrategy和BaseCacheStragegy中間加了一層ObjectCacheStrategy,用于處理所有Key為String類型的緩存(Value為Object類型)。
Sample中的代碼已經(jīng)進(jìn)行了同步的修改。
所以如果您是在以前的版本上進(jìn)行升級(jí),必須要對(duì)代碼做如下修改:
1、 ContainerCache緩存策略不再需要注冊(cè),改為對(duì)ObjectCache緩存策略的注冊(cè),例如:
原先的Container注冊(cè)方法為(Redis為例):
CacheStrategyFactory.RegisterContainerCacheStrategy(() => RedisContainerCacheStrategy.Instance);//Redis
現(xiàn)在改為:
CacheStrategyFactory.RegisterObjectCacheStrategy(() => RedisObjectCacheStrategy.Instance);//Redis
?
注意:大部分的升級(jí)內(nèi)容,只要編譯一次就可以根據(jù)編譯器報(bào)錯(cuò)找到修改的地方,但是上述lambda表達(dá)式中的?RedisObjectCacheStrategy ,即使保留原來(lái)的?RedisContainerCacheStrategy 也不會(huì)在編譯時(shí)報(bào)錯(cuò),所以需要格外注意!
?
2、CacheStrategyFactory.GetContainerCacheStrategyInstance()方法已經(jīng)廢除,現(xiàn)改為:
CacheStrategyFactory.GetObjectCacheStrategyInstance(); 返回的是ObjectCacheStrategy,不再是ContainerCacheStrategy
?用法:
var objectCacheStrategy = CacheStrategyFactory.GetObjectCacheStrategyInstance();
現(xiàn)在的ContainerCacheStrategy實(shí)例可以從objectCacheStrategy?.ContainerCacheStrategy獲得,例如:
原先的containerCacheStrategy獲取方法為:
CacheStrategyFactory.GetContainerCacheStrategyInstance()
現(xiàn)在改為:
CacheStrategyFactory.GetObjectCacheStrategyInstance().ContainerCacheStrategy
?
升級(jí)說(shuō)明
本次更新之后看似某些部分緩存初始化的代碼會(huì)更長(zhǎng)一些(多數(shù)存在于SDK內(nèi)部,開(kāi)發(fā)者不會(huì)感覺(jué)到,所有的接口調(diào)用方法沒(méi)有任何改變),但是對(duì)于SDK的擴(kuò)展能力來(lái)說(shuō)是一個(gè)新的里程碑:以前緩存策略專為Container設(shè)計(jì)(或者說(shuō)Container優(yōu)先),而目前的緩存策略已經(jīng)可以支持幾乎所有的緩存類型!這次升級(jí)為接下來(lái)SDK更多的功能升級(jí)提供了強(qiáng)有力的底層保證,尤其下一步包括小程序在內(nèi)的實(shí)時(shí)互動(dòng)開(kāi)發(fā)提前奠定基礎(chǔ)。
?
總結(jié)
以上是生活随笔為你收集整理的[公告][重要]Senparc.Weixin v4.9.0 Senparc.Weixin.MP v14.3.104更新说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python-day1-login练习
- 下一篇: Spark不是唯一,三种新兴的开源数据分