百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

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

liuian 2025-02-26 12:47 19 浏览

微软发布.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等等。

相关推荐

python入门到脱坑函数—定义函数_如何定义函数python

Python函数定义:从入门到精通一、函数的基本概念函数是组织好的、可重复使用的代码块,用于执行特定任务。在Python中,函数可以提高代码的模块性和重复利用率。二、定义函数的基本语法def函数名(...

javascript函数的call、apply和bind的原理及作用详解

javascript函数的call、apply和bind本质是用来实现继承的,专业点说法就是改变函数体内部this的指向,当一个对象没有某个功能时,就可以用这3个来从有相关功能的对象里借用过来...

JS中 call()、apply()、bind() 的用法

其实是一个很简单的东西,认真看十分钟就从一脸懵B到完全理解!先看明白下面:例1obj.objAge;//17obj.myFun()//小张年龄undefined例2shows(...

Pandas每日函数学习之apply函数_apply函数python

apply函数是Pandas中的一个非常强大的工具,它允许你对DataFrame或Series中的数据应用一个函数,可以是自定义的函数,也可以是内置的函数。apply可以作用于DataF...

Win10搜索不习惯 换个设定就好了_window10搜索用不了怎么办

Windows10的搜索功能是真的方便,这点用惯了Windows10的小伙伴应该都知道,不过它有个小问题,就是Windows10虽然会自动联网搜索,但默认使用微软自家的Bing搜索引擎和Edge...

面试秘籍:call、bind、apply的区别,面试官为什么总爱问这三位?

引言你有没有发现,每次JavaScript面试,面试官总爱问你call、bind和apply的区别?好像这三个方法成了通关密码,掌握了它们,就能顺利过关。其实不难理解,面试官问这些问题,不...

记住这8招,帮你掌握“追拍“摄影技法—摄影早自习第422日

杨海英同学提问:请问叶梓老师,我练习追拍时,总也不能把运动的人物拍清晰,速度一般掌握在1/40-1/60,请问您如何把追拍拍的清晰?这跟不同的运动形式有关系吗?请您给讲讲要点,谢谢您!摄影:Damia...

[Sony] 有点残酷的测试A7RII PK FS7

都是好机!手中利器!主要是最近天天研究fs5,想知道fs5与a7rii后期匹配问题,苦等朋友的fs5月底到货,于是先拿手里现有的fs7小测一下,十九八九也能看到fs5的影子,另外也了解一下fs5k标配...

AndroidStudio_Android使用OkHttp发起Http请求

这个okHttp的使用,其实网络上有很多的案例的,但是,如果以前没用过,copy别人的直接用的话,可以发现要么导包导不进来,要么,人家给的代码也不完整,这里自己整理一下.1.引入OkHttp的jar...

ESL-通过事件控制FreeSWITCH_es事务控制

通过事件提供的最底层控制机制,允许我们有效地利用工具箱,适时选择使用其中的单个工具。FreeSWITCH是一个核心交换与混合矩阵,它周围有几十个模块提供各种功能特性。我们完全控制了所有的即时信息,这些...

【调试】perf和火焰图_perf生成火焰图

简介perf是linux上的性能分析工具,perf可以对event进行统计得到event的发生次数,或者对event进行采样,得到每次event发生时的相关数据(cpu、进程id、运行栈等),利用这些...

文本检索控件也玩安卓?dtSearch Engine发布Android测试版

dtSearchEngineforLinux(原生64-bit/32-bitC++和JavaAPIs)和dtSearchEngineforWin&.NET(原生64-bi...

网站后台莫名增加N个管理员,记一次SQL注入攻击

网站没流量,但却经常被SQL注入光顾。最近,网站真的很奇怪,网站后台不光莫名多了很多“管理员”,所有的Wordpres插件还会被自动暂停,导致一些插件支持的页面,如WooCommerce无法正常访问、...

多元回归树分析Multivariate Regression Trees,MRT

多元回归树(MultivariateRegressionTrees,MRT)是单元回归树的拓展,是一种对一系列连续型变量递归划分成多个类群的聚类方法,是在决策树(decision-trees)基础...

JMETER性能测试_JMETER性能测试指标

jmeter为性能测试提供了一下特色:jmeter可以对测试静态资源(例如js、html等)以及动态资源(例如php、jsp、ajax等等)进行性能测试jmeter可以挖掘出系统最大能处...