Agileconfig 1.9.0 发布,支持 mongodb 数据库

Hello 大家好,先祝福大家新年快乐。🎉🎉🎉 AgileConfig 1.9.0 版本终于赶在农历年前发布了。 Mongodb 当前做为一款非常成熟的 Nosql 产品,已经有越来越多的产品或项目基于它来构建。在 AgileConfig 开源的这几年之间,陆陆续续收到不少同学问为啥不支持 Mongodb。我的回答是没有时间(懒)。一是因为确实没有时间,二是要支持 Mongodb 这种非关系型数据库,需要对 AgileConfig 项目本身做比较大的重构。就在去年 12 月 AgileConfig 收到了对于 Mongodb 的支持的 PR。这是 AgileConfig 开源这几年来收到的一个最大的 PR。往常大家都是嘴上说要这个,要那个功能,但是真正动手的聊聊无几,收到这个 PR 的时候让我非常欣慰。 这个 PR 当时虽然能工作,但是不够完美。在我跟 pengqian089 同学多次沟通后决定对 AgileConfig 进行一次比较大的重构:在 RDB 与 Nosql 之间在抽象一层仓储层。这样对与后续扩展不管是 RDB 还是其他 Nosql 会更加的容易。同时为了保证项目的可靠性,我们还改进跟添加了更多的单元测试用例。我们共同合作 2 个多月,修改了超过 170 个文件,终于有了当前这个新版本。 如何使用 Mongodb 作为存储... [Read More]

Agileconfig 升级到 .net8

Hello 大家好。本月圈子里最大的事莫过于 .NET8 正式 release。群友们都在适配 .NET8。抽个周末我也把 AgileConfig 升级到了 .NET8。下面把升级的过程简单记录一下,其中有个小坑,对大家升级的时候可能有所帮助。 升级 升级 .NET8 修改所有项目的目标框架为 .NET8.0 升级 nuget 包 在 nuget 包管理器里把所有能更新的包全部更新到最新。 有一个包 Microsoft.AspNetCore.Http.Abstractions 提示已经弃用,需要处理一下。 因为这个包现在微软已经不在 nuget 上提供,需要使用框架引用。 修改项目文件,在 ItemGroup里添加以下内容: ``` [Read More]

如何正确实现一个自定义exception(二)

上一篇《如何正确实现一个自定义 Exception》发布后获得不少 star。有同学表示很担忧,原来自己这么多年一直写错了。其实大家不用过分纠结,如果写的是 .NET CORE 1.0+ 的程序,那么大概率是没有问题的。 有大佬已经在评论区指出这些信息是过时的了。确实在.NET CORE 发布之后,Exception 已经不在推荐实现 ISerializable 接口。让我们细说一下。 [Read More]

如何正确实现一个自定义exception

最近在公司的项目中,编写了几个自定义的 Exception 类。提交 PR 的时候,sonarqube 提示这几个自定义异常不符合 ISerializable patten. 花了点时间稍微研究了一下,把这个问题解了。今天在此记录一下,可能大家都会帮助到大家。 [Read More]