<返回更多

8个常用的.net(c#)类库

2022-01-10    未来架构
加入收藏

微软发布.NET框架已经21年了,现在还是不少企业的首选开发框架。尤其最近几年微软.net全面拥抱linux以及今年即将发布的.net 6基本支持所有的移动平台开发,必定能解决很多开发者跨平台的苦恼。

今天给大家说一下我们产品中用的比较多8个的.NET库,

Swashbuckle

此.NET库可帮助您管理和测试.NET web API。它还使用Swagger为应用程序构建API文档。对于新手来说,Swagger是一组描述RESTAPI状态的规则。它们都是机器可读的,并且可以被人理解。

主要功能包括:

  1. 提供与Swagger UI的无缝集成
  2. 对身份验证OAuth2方案、API密钥和基本身份验证的广泛支持
  3. 对XML注释的支持

Swashback有三个主要组件:

  1. Swashback.AspNetCore.Swagger-这是一个Swagger对象模型,提供了将Swagger文档API公开为JSON端点(即公开可用的URL)的功能。
  2. Swashback.AspNetCore.swagggergen-提供生成API的对象、返回类型和工作流的功能。
  3. Swashback.AspNetCore.SwaggerUI-这是Swashback提供的SwaggerUI的嵌入式版本。

FluentEmail

FluentEmail是一个开源的.Net库,可帮助您在不到10分钟的时间内在.Net应用程序中实现电子邮件功能。它支持Razor用于预构建电子邮件模板,并通过SMTP协议通过常用的电子邮件传递服务(如SendGrid和MailGun)方便地发送邮件。它使您能够更好地控制通过电子邮件传递服务发送邮件的方式。

FluentEmail包包括:

  1. FluentEmail.core-这是一个基本包,有助于通过SMTP发送电子邮件。因为它是基本包,所以它只包括基本默认值和域模型。
  2. FluentEmail.mailgun-用于使用mailgun REST API发送电子邮件。
  3. FluentEmail.SendGrid-用于通过SendGrid REST API发送电子邮件。
  4. FluentEmail.SMTP-通过SMTP协议发送电子邮件。

xUnit

Xunit是一个免费的、开源的、以社区为中心的测试工具,它允许测试小型的独立组件,而不是在程序的大块后面进行测试。这使得设计目标和简单性与框架的特性保持一致。安装此软件包将安装以下依赖项:

  1. Xunit.Core-包括所有用于编写单元测试用例的库,用于测试应用程序的所有可能场景
  2. Xunit.assert-包括用于验证条件是否有效的断言库。
  3. Xunit.analyzers-安装此软件包可以为测试团队提供代码分析器,帮助他们在编写健壮的测试用例时发现并修复频繁出现的问题和其他错误。

App Metrics

App Metrics是一个跨平台、开源的库,它记录了应用程序中的大量指标。这包括在特定时间登录的用户数、请求数、DB查询的运行时间、API的响应时间、可用的可用内存等等。它支持一系列实用程序,如计数器、计时器和直方图,以测量.NET应用程序、MVC或web API的每个端点的性能和错误。

常见的基于App.Metrics+InfluxDB+Grafana实现统一性能监控。

HashLib

Hashlib包含几个哈希算法的实现,您可以使用这些算法对.NET应用程序中的文件、流和所有类型的数据进行哈希。哈希通常用于使用哈希键以更快的速度从数据库中检索特定数据。

散列键用于获取数据的直接位置,而不是使用索引结构。总之,利用HashLib库可以简化应用程序中元素的搜索。

AutoMapper

Automapper是对象映射器的对象。通过这种方式,我们可以将一种类型的一个对象的属性映射到另一个对象的属性。automapper广泛用于使用DTO(数据传输对象)的情况。通过这种方式,可以很容易地将对象属性从视图(View)对象分配给DTO对象,并将DTO对象分配给域(Model)模型。

EntityFramework/Dapper

Entity Framework (EF)和Dapper都是ORM,使.NET开发人员能够使用特定于域的对象处理关系数据。就性能而言,Dapper拥有Micro ORM之王(King of Micro ORM)的称号。实体框架允许通过编写代码或使用EF设计器中的boxes and lines来创建模型,并生成新的数据库。

Polly

这个基本上是分布式系统中必不可少的组件,和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等等。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>