分类 .NET 下的文章

ASP.NET Core WebAPI使用静态swagger.json文件

前言

ASP.NET Core Web API默认集成了Swashbuckle,可以在运行时显示Swagger UI:

而Swagger UI实际上是解析的动态生成的swagger.json:

app.UseSwagger();
app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "WebApplication3 v1"));

其实,部署ASP.NET Core Web API完成后,swagger.json的内容就不会改变了,完全可以用静态文件替代。

阅读剩余部分

如何定位Source Generators性能问题?

前言

在以前的文章中,我们介绍过如何调试Source Generators。但是当实现较为复杂时,我们需要能够快速地分析Source Generators性能的方法。

默认情况下,使用VS 2019自带的“性能探查器”不能分析Source Generators项目,因为它是类库项目:

阅读剩余部分

.NET 6使用对象与对象映射工具AutoMappper

Nuget 安装:AutoMapper.Extensions.Microsoft.DependencyInjection

创建MapperProfile

using AutoMapper;
namespace Mapper.Api.Profiles;
//要继承AutoMapper的Profile
public class MapperProfile : Profile
{
    //构造函数
    public MapperProfile()
    {
        //这里写映射规则
        //CreateMap<TSource,TDestination>();
    }
}

阅读剩余部分

.NET 6简单使用MemoryCache缓存

依赖注入

builder.Services.AddMemoryCache();

我们依旧通过构造函数注入的方式获取MemoryCache的实例:

private readonly IMemoryCache _cache;
//还是通过构造函数的方法,获取
public MemoryCaching(IMemoryCache cache)
{
    _cache = cache;
}

阅读剩余部分