Senparc.Weixin SDK v5.0 升级公告
经过五年半的持续维护,Senparc.Weixin SDK 逐步丰满和完善,在升级的过程中,我们为基础库(Senparc.Weixin.dll)加入了许多通用的功能,例如加密/解密算法、通用缓存方法等等,许多这些方法其实和微信没有一对一的服务关系,而是具备了非常好的全局通用性。经过一系列的调研,也已经有许多开发者开始使用 Senparc.Weixin.dll 中的通用方法为全系统服务,而不只是用于开发微信。为此,盛派团队决定将 Senparc.Weixin.dll 中具备全系统通用性的功能分离出来,帮助大家提供一个更加完善高效的基础通用模块,并融入更多盛派尚未开源的模块和技术。与此同时, Senparc.Weixin.dll 中的方法也将更加集中地为微信各模块服务。希望大家继续关注和支持此次计划,关注并一起建设好 CO2NET!盛派一直在你身边!
本次升级版本号为 v5.0,对 Senparc.Weixin.dll 进行了大范围的重构,将其与微信没有直接关系的基础方法(例如通用的加密/解密算法、通用缓存方法等),分离到 Senparc.CO2NET 项目,Senparc.Weixin SDK 将引用 Senparc.CO2NET 。
CO2NET 项目也使用 Senparc.Weixin SDK 相同的 Apache License Version 2.0 协议开源,支持商用。全部代码开放,并将逐步提供更加完善的配套工具以及全套单元测试。
关于移植的内容可以直接查看 CO2NET 的源码,在 Senparc.Weixin 中,移除代码的处理有两种方式:
- 继承 CO2NET 方法,并标注方法过期,例如:
12345678/// <summary>
/// 微信日期处理帮助类
/// </summary>
[Obsolete(
"请使用 Senparc.CO2NET.Helpers.DateTimeHelper 类"
)]
public
class
DateTimeHelper : CO2NET.Helpers.DateTimeHelper
{
}
- 删除方法,请大家升级的时候直接使用 Senparc.CO2NET.xx 取代 Senparc.Weixin.xx 相关代码,大家只要通过编译查看到命名空间、类或方法不存在的情况下,修改命名空间即可。
决定保留(标记过期)或删除的原则是:如果过程简单,且一般不涉及深度的调试,或封装已经非常完善,则进行删除(彻底转移),否则使用向下兼容的方式暂时保留,今后会逐步删除。
本次升级还对部分 Senparc.Weixin.dll 中的类做了调整,具体如下:
- 缓存方面:
- 删除 LocalObjectCacheStragety.cs (在 CO2NET 中已经提供)
- 删除 ILocalContainerCacheStrategy 接口
- 对应 Senparc.Weixin.Cache.Redis 和 Senparc.Weixin.Cache.Memcached 模块也对应做上述调整
- CacheStrategyFactory 重命名为 ContainerCacheStrategyFactory
- Senparc.Weixin.dll 中的缓存更专注地服务于各类 Container(数据容器),CacheStrategyFactory.RegisterObjectCacheStrategy() 重命名为 ContainerCacheStrategyFactory.RegisterContainerCacheStrategy()
- CacheStrategyFactory.GetObjectCacheStrategyInstance() 重命名为 ContainerCacheStrategyFactory.GetObjectCacheStrategyInstance()
- 将 Senparc.Weixin.Cache.Redis.RedLock 项目 完整迁移到 Senparc.CO2NET.Cache.Redis.RedLock 项目
- Senparc.Weixin.Cache.Memcached 内 MemcachedServiceCollectionExtensions.AddSenparcMemcached() 更名为 AddWeixinMemcached()
- Senparc.Weixin.Register.ChangeDefaultCacheNamespace() 迁移到 Senparc.CO2NET 对应位置
- 缓存实体修改不再使用属性通知,回到常规的手动 Get/Set 模式
- 如果现有系统使用分布式缓存,升级到 v5.0,请先删除原有 AccessToken 等缓存,缓存格式已经发生变化
- 其他:
- .net framework 和 .net core 下的注册过程有所改变,请参考Demo。
- Senparc.Weixin.EntityUtility 命名空间改为 Senparc.CO2NET.Utilities;
- Senparc.Weixin.XmlUtility 命名空间改为 Senparc.CO2NET.Utilities;
- using Senparc.Weixin.MP.Entities.GoogleMap 命名空间改为 using Senparc.CO2NET.Helpers.GoogleMap (BaiduMap同理)
PS:本文发布时,CO2NET 尚未正式发布,Senprc.Weixin v5.0.0 也正在 Developer-CO2NET 中不断更新,正式发布后将会合并到 master 分支。欢迎关注!本文将会根据项目进展持续更新。最后更新时间:2018-8-11。
转载请注明出处和作者,谢谢!
作者:JeffreySu / QQ:498977166
博客:http://szw.cnblogs.com/
Senparc官方教程《微信开发深度解析:微信公众号、小程序高效开发秘籍》,耗时2年精心打造的微信开发权威教程,点击这里,购买正版!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
2014-06-02 Senparc.Weixin.MP SDK 微信公众平台开发教程(十二):OAuth2.0说明
2014-06-02 Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明
2014-06-02 Senparc.Weixin.MP SDK 微信公众平台开发教程(十):多客服接口说明