微软发布.NET框架已经21年了,现在还是不少企业的首选开发框架。尤其最近几年微软.net全面拥抱linux以及今年即将发布的.net 6基本支持所有的移动平台开发,必定能解决很多开发者跨平台的苦恼。
今天给大家说一下我们产品中用的比较多8个的.NET库,
此.NET库可帮助您管理和测试.NET web API。它还使用Swagger为应用程序构建API文档。对于新手来说,Swagger是一组描述RESTAPI状态的规则。它们都是机器可读的,并且可以被人理解。
主要功能包括:
Swashback有三个主要组件:
FluentEmail是一个开源的.Net库,可帮助您在不到10分钟的时间内在.Net应用程序中实现电子邮件功能。它支持Razor用于预构建电子邮件模板,并通过SMTP协议通过常用的电子邮件传递服务(如SendGrid和MailGun)方便地发送邮件。它使您能够更好地控制通过电子邮件传递服务发送邮件的方式。
FluentEmail包包括:
Xunit是一个免费的、开源的、以社区为中心的测试工具,它允许测试小型的独立组件,而不是在程序的大块后面进行测试。这使得设计目标和简单性与框架的特性保持一致。安装此软件包将安装以下依赖项:
App Metrics是一个跨平台、开源的库,它记录了应用程序中的大量指标。这包括在特定时间登录的用户数、请求数、DB查询的运行时间、API的响应时间、可用的可用内存等等。它支持一系列实用程序,如计数器、计时器和直方图,以测量.NET应用程序、MVC或web API的每个端点的性能和错误。
常见的基于App.Metrics+InfluxDB+Grafana实现统一性能监控。
Hashlib包含几个哈希算法的实现,您可以使用这些算法对.NET应用程序中的文件、流和所有类型的数据进行哈希。哈希通常用于使用哈希键以更快的速度从数据库中检索特定数据。
散列键用于获取数据的直接位置,而不是使用索引结构。总之,利用HashLib库可以简化应用程序中元素的搜索。
Automapper是对象映射器的对象。通过这种方式,我们可以将一种类型的一个对象的属性映射到另一个对象的属性。automapper广泛用于使用DTO(数据传输对象)的情况。通过这种方式,可以很容易地将对象属性从视图(View)对象分配给DTO对象,并将DTO对象分配给域(Model)模型。
Entity Framework (EF)和Dapper都是ORM,使.NET开发人员能够使用特定于域的对象处理关系数据。就性能而言,Dapper拥有Micro ORM之王(King of Micro ORM)的称号。实体框架允许通过编写代码或使用EF设计器中的boxes and lines来创建模型,并生成新的数据库。
这个基本上是分布式系统中必不可少的组件,和Spring cloud类似。Polly is a library that allows developers to express resilience and transient fault handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
当然还有一些其他常用的类库,newtonsoft,castle,moq,serilog,nunit等等。