
成都铝单板厂家招聘(库少一点是什么字 撒贝宁)库少一点儿,
发布时间:2023-06-10 11:17:09 人气:13 来源:铝单板厂家
推荐 10 个我在项目中必用也最好用的 .NET 库。这些库都得到了广泛的认可,并且在.NET 开发中被广泛使用。能极大的帮助我们提高代码开发效率和质量。
1.Newtonsoft.JsonGitHub - JamesNK/Newtonsoft.Json: Json.NET is a popular high-performance JSON framework for .NET
Newtonsoft.Json 是一个用于.NET 平台的流行的 JSON 序列化和反序列化库它可以帮助你将.NET 对象序列化成 JSON 字符串,也可以将 JSON 字符串反序列化成.NET 对象使用该库,您可以方便地将.NET 应用程序与其他 JSON API 集成。
// 将.NET 对象序列化成 JSON 字符串string json = JsonConvert.SerializeObject(obj); // 将 JSON 字符串反序列化成.NET 对象var
obj = JsonConvert.DeserializeObject(json);2 AutofacGitHub - autofac/Autofac: An addictive .NET IoC container
Autofac 是一个轻量级的 IoC(Inversion of Control)容器,它可以帮助.NET 开发人员管理应用程序中的组件依赖关系使用该库,您可以轻松地实现依赖注入和依赖反转,从而更方便地扩展和测试.NET 应用程序。
// 注册服务和组件var builder = new ContainerBuilder(); builder.RegisterType().As(); builder.RegisterType().
As(); var container = builder.Build(); // 获取实例var service = container.Resolve();
var component = container.Resolve();3 AutoMapperGitHub - AutoMapper/AutoMapper: A convention-based object-object mapper in .NET.
AutoMapper 是一个用于.NET 平台的对象映射工具,它可以帮助.NET 开发人员快速地从一个对象映射到另一个对象使用该库,您可以避免手动编写大量的对象映射代码// 定义映射配置var config = 。
new MapperConfiguration(cfg => { cfg.CreateMap(); }); // 进行对象映射var mapper = config.CreateMapper();
var dto = mapper.Map(obj);4 log4net & NLogGitHub - apache/logging-log4net: Mirror of This is the Apache log4net logging project git repository.
GitHub - NLog/NLog: NLog - Advanced and Structured Logging for Various .NET Platformslog4net 是一个用于.NET 平台的日志记录工具,它可以帮助.NET 开发人员记录应用程序的日志信息。
使用该库,您可以轻松地在应用程序中添加日志记录功能,并帮助您及时发现和解决程序中的问题// 创建日志记录器var logger = LogManager.GetLogger(typeof(MyClass));
// 写入日志信息 logger.Error("An error occurred.");NLog// NLog: Setup NLog for Dependency injectionbuilder.Logging
.ClearProviders(); builder.Host.UseNLog();5 ImageSharpGitHub - SixLabors/ImageSharp: A modern, cross-platform, 2D Graphics library for .NET
ImageSharp 是一个全新的、功能齐全的、完全托管的、跨平台的 2D 图形库ImageSharp 旨在简化图像处理,为您带来了一个功能强大而又非常简单的 APIbyte[] brushData = TestFile.Create(TestImages.Png.Ducky).Bytes; 。
using Image image = provider.GetImage(); using Image brushImage = provider.PixelType == PixelTypes.Rgba32 ? Image.Load(brushData) : Image.Load(brushData); image.Mutate(c => c.DrawImage(brushImage,
0.5f)); image.DebugSave(provider, appendSourceFileOrDescription: false);6 FluentValidationGitHub -
FluentValidation/FluentValidation: A popular .NET validation library for building strongly-typed validation rules.
.NET 的验证库,它使用流畅的界面和 lambda 表达式来构建强类型验证规则using FluentValidation; publicclass CustomerValidator: AbstractValidator { 。
public CustomerValidator() { RuleFor(x => x.Surname).NotEmpty(); RuleFor(x => x.Forename).NotEmpty().WithMessage(
"Please specify a first name"); RuleFor(x => x.Discount).NotEqual(0).When(x => x.HasDiscount); RuleFor(
x => x.Address).Length(20, 250); RuleFor(x => x.Postcode).Must(BeAValidPostcode).WithMessage("Please specify a valid postcode"
); } private bool BeAValidPostcode(string postcode) { // custom postcode validating logic goes here
} } var customer = new Customer(); var validator = new CustomerValidator(); // Execute the validator
ValidationResult results = validator.Validate(customer); // Inspect any validation failures. bool success = results.IsValid; List failures = results.Errors;
7 DapperDapper 是一种简单,快速且具有高效处理来自ADO.NET的ORM 框架Dapper可归类为一个微型对象关系映射器(ORM),可让您在.NET 6应用程序中轻松地进行SQL查询和映射.。
var rows = connection.Query("select 1 A, 2 B union all select 3, 4").AsList(); var count = connection.Execute(
@"insert MyTable(colA, colB) values (@a, @b)", new[] { new { a=1, b=1 }, new { a=2, b=2 }, new { a=
3, b=3 } } );8 FlurlGitHub - tmenier/Flurl: Fluent URL builder and testable HTTP client for .NETFlurl 是一个现代的、流畅的、异步的、可测试的、可移植的、充满流行语的 URL 构建器和 HTTP 客户端库
var result = await"https://api.mysite.com" .AppendPathSegment("person") .SetQueryParams(new { api_key =
"xyz" }) .WithOAuthBearerToken("my_oauth_token") .PostJsonAsync(new { first_name = firstName, last_name = lastName }) .ReceiveJson();
9 MediatRhttps://github.com/jbogard/MediatRMediatR是一个.NET 6的消息总线库,它能够帮助您将应用程序的行为转化为消息,可使命令、事件和查询等不同的消息类型在您的应用程序中更加明确和一致。
MediatR通常在.NET 6 web应用程序中用于处理CQRS(命令查询职责分离体系结构)中的命令和查询// 定义请求类型:public record MyQuery(string Name) : IRequest;
// 定义处理程序:publicclass MyQueryHandler : IRequestHandler { publicasync Task Handle(MyQuery request, CancellationToken cancellationToken) {
var result = await SomeService.DoWork(request.Name); returnnew MyResponse(result); } } // 发送查询消息:
var mediator = serviceProvider.GetService(); var response = await mediator.Send(new MyQuery(
"my_param"));10 StackExchange.RedisStackExchange.Redis是一个.NET 6开源的Redis客户端库,能够帮助您快速连接和操作Redis服务器此库通常用于.NET 6 web应用程序中处理缓存数据.。
// 连接到Redis:var redis = ConnectionMultiplexer.Connect("localhost"); // 获取Redis键值:var db = redis.GetDatabase();
varvalue = db.StringGet("mykey"); // 设置Redis键值: db.StringSet("mykey", "myvalue");这些10个类库是我项目中必不可少的,包括序列号,日志,orm,验证,redis操作,api请求,DI,DTO映射,图片处理,其中MediatR作为领域驱动开发必备类库,可以说这些大大提高代码的可重用性、可维护性和一致性,同时也能够简化开发和降低风险。
当然还有其他优秀如Quartz,CAP 等在稍大点分布式项目中也会用到欢迎大家一起讨论10个你项目中必不可少的十个.NET类库。
相关新闻
- 木纹铝单板厂家怎么选专业售后品质保证(中粮集团信托有限公司校园招聘信息) 2023-08-18
- 宁夏铝单板厂家电话欢迎您的咨询来电(上海陆家嘴金融贸易区联合发展有限公司) 2023-08-18
- 山西铝单板厂家联系方式欢迎您的咨询来电(核力欣健刘虎) 2023-08-18
- 铝单板厂家哪个好高效便捷种类齐全(新能源汽车业绩大增的原因) 2023-08-18
- 南昌铝单板厂家电话高效便捷种类齐全(龙江银行贷款上征信么) 2023-08-18
- 木纹铝单板厂家电话欢迎您的咨询来电(社区开展地震应急演练) 2023-08-18
- 全国铝单板厂家排名高效便捷种类齐全(有福之人生几月) 2023-08-18
- 西安铝单板厂家批发价格高效便捷种类齐全(山东旅居智慧康养有限公司) 2023-08-18
- 方大铝单板厂家电话按照客户要求定制(劲仔食品有限公司老板电话) 2023-08-18
- 山西铝单板厂家地址高效便捷种类齐全(江西豪车事件真相) 2023-08-18