写在开始
这里写一下我在开发过程中用到的一些工具和库
工具
转换工具
XML转C#类的工具
网址: https://json2csharp.com/code-converters/xml-to-csharp
这是一个在线工具,可以拿来把一个成品的XML文档转换成C#用的映射类
库
调度
Coravel
一个零配置的定时任务库和任务调度器,主要是用起来比较简单,不需要配置啥配置文件,适合轻量使用的环境。
网址: https://github.com/jamesmh/coravel
RateLimiter
一个简单的限速器,可以帮你限制请求频率。
网址: https://github.com/David-Desmaisons/RateLimiter
通信相关
EasyNetQ
一个RabbitMQ的客户端,可以实现常规消息队列的功能以及使用消息队列实现RPC调用功能。
网址: https://github.com/EasyNetQ/EasyNetQ
Monotorrent
一个C#写的BT下载库,虽然不支持utp,但是常见的BT下载环境基本都能满足
网址: https://github.com/alanmcgovern/monotorrent
数据库
LiteDB
一个轻量级的BSON数据库,使用起来性能比Sqlite高而且不需要主动配置表结构以及更新结构,用起来比较方便,可以替代很多Sqlite的使用环境。
网址: https://github.com/mbdavid/LiteDB
Garnet
微软官方出的Redis替代品,如果用C#的话可以直接把Server丢在自己的程序里拉起来,比Redis可以省一个进程,多一个多核支持。
网址: https://github.com/microsoft/garnet
依赖注入
Scrutor
一个方便依赖注入的库,基于 .NET 默认的ServiceProvier
实现,可以批量注入实现了同种接口或者基类的类。
网址: https://github.com/khellang/Scrutor
搜索
Lucene.Net
应该是属于广为人知的搜索库,.NET 平台常见搜索库。建议用4.8.0最新的beta版。
网址: https://github.com/apache/lucenenet
Lucene.Net.Analysis.SmartCn
一个Lucene.Net
的中文分词器,在需求不是很高的情况下这个中文分词器基本够用。仓库好像也位于Lucene.Net
的主仓库中
网址: https://www.nuget.org/packages/Lucene.Net.Analysis.SmartCn
写在最后
上面列了一下我常用的库,还有一些库会继续更新上去