随笔分类 -  Core WebAPI

.net core WebAPI学习共享
摘要:Dictionary<string, string> fieldMappings,Key:特殊标记 Value:替换的内容{"FieldId15646","字段名"} 例:'字段:{FieldId15646}被替换'-》'字段:【字段名】被替换' 方案一:正则表达式 public static st 阅读全文
posted @ 2025-03-03 17:46 燕钰达 阅读(1) 评论(0) 推荐(0) 编辑
摘要:1、方法上注册 当前方法生效 2、控制器注册 当前控制器生效 3、全局注册 全局生效 builder.Services .AddControllers(options => { options.Filters.Add<CustomExceptionFilterAttribute>();//全局注册E 阅读全文
posted @ 2023-01-24 21:56 燕钰达 阅读(129) 评论(0) 推荐(0) 编辑
摘要:为什么IResoursceFilter更适合做缓存? IActionFilter:只包裹Action方法 IResoursceFilter:包裹控制器的构造示例+Action方法 IResoursceFilter更适合做缓存,效率更高。因为IResoursceFilter先判断缓存是否存在,再执行构 阅读全文
posted @ 2023-01-24 21:41 燕钰达 阅读(29) 评论(0) 推荐(0) 编辑
摘要:注:带有注入的扩展类,在标记时需要用 [TypeFilter(typeof(CustomAsyncActionFilterAttribute))] 或者 [ServiceFilter(typeof(CustomAsyncActionFilterAttribute))](需要在IOC容器中注册) 扩展 阅读全文
posted @ 2023-01-23 22:49 燕钰达 阅读(485) 评论(0) 推荐(0) 编辑
摘要:参考:.net core(.net 6) IResourceFilter 的基础使用(IAsyncResourceFilter) 缓存:就是一个临时存储区域,以一个Key-value格式保存数据;key 保存数据的标识,也需要这个表示key才能获取缓存。 a 定义一个静态的键值对Dictionary 阅读全文
posted @ 2023-01-12 15:33 燕钰达 阅读(244) 评论(0) 推荐(0) 编辑
摘要:a 定义CustomResourceFilterAttribute扩展类,继承父类Attribute,实现 IResourceFilter接口 b 实现接口方法 c 标记在API action上 1、CustomResourceFilterAttribute扩展类 Attribute类为标记类。 I 阅读全文
posted @ 2023-01-12 14:52 燕钰达 阅读(153) 评论(0) 推荐(0) 编辑
摘要:在.net core 中Filter分为以下六大类: 1、AuthorizeAttribute(权限验证) 2、IResourceFilter(资源缓存).net core(.net 6) IResourceFilter 的基础使用(IAsyncResourceFilter) .net core(. 阅读全文
posted @ 2023-01-12 14:09 燕钰达 阅读(119) 评论(0) 推荐(0) 编辑
摘要:问题描述:在webapi添加version版本支持后在Swagger页面会自动添加一个版本输入框。 解决方法: 前提:1、隐藏输入框,实现版本支持需要在路由中使用版本{version:apiVersion} 版本支持参考:C# .net core(.net 6) WebApi 版本控制(Versio 阅读全文
posted @ 2023-01-11 16:50 燕钰达 阅读(56) 评论(0) 推荐(0) 编辑
摘要:问题描述:在controller中使用了Versioning版本控制,在swagger页面显示时未转化为对应版本。 示例: 转换为: 实现方法: 在注册Swagger时‘builder.Services.AddSwaggerGen’中,添加对‘Swagger文档显示的API地址中将版本信息参数替换为 阅读全文
posted @ 2023-01-11 16:12 燕钰达 阅读(190) 评论(0) 推荐(0) 编辑
摘要:1、授权 Authorize 2、资源 Resource 3、异常 Exception 4、方法前后 Action 5、AlwayRunResult 6、结果前后 Result 阅读全文
posted @ 2023-01-04 16:43 燕钰达 阅读(42) 评论(0) 推荐(0) 编辑
摘要:.net 6 框架内置了log,但是该log只能在控制台打印日志,在实际项目中我们需要将日志实现持久化,将日志写进文档、写入数据库等,所以选择了log4net。 1、引入NuGet包 Microsoft.Extensions.Logging.Log4Net.AspNetCore log4netSys 阅读全文
posted @ 2023-01-04 09:33 燕钰达 阅读(1943) 评论(0) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2023-01-03 16:37 燕钰达 阅读(57) 评论(0) 推荐(0) 编辑
摘要:注:FromServices为IOC属性注入,参考:如何在 ASP.NET Core 中使用 FromServices 阅读全文
posted @ 2023-01-02 18:02 燕钰达 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1、请求级 Middleware 全局,所有请求都需要控制。如:记录所有请求的IP、鉴权授权。 2、功能级 Filter 某个API。如:敏感API、记录用户信息、退出时数据库记录信息。 3、业务级 AutofacAOP 某个操作。如:在某个跨库写入问题,需要添加分布式事务、某个数据查询添加缓存。参 阅读全文
posted @ 2023-01-02 14:14 燕钰达 阅读(64) 评论(0) 推荐(0) 编辑
摘要:注:接口代码、类库代码参考:.net core (.net 6) IOC容器注入--内置容器 Autofac容器优点:灵活(属性注入、多种生命周期、AOP扩展)、比较流行(技术门槛低) 1、引入NuGet包 Autofac Autofac.Extensions.DependencyInjection 阅读全文
posted @ 2022-12-30 14:46 燕钰达 阅读(272) 评论(0) 推荐(0) 编辑
摘要:注:内置容器仅支持构造函数方式注入(经过实验[FromServices]注入也支持) 参考:面试疑问:.NET Core依赖注入有三种方式是真的吗? 1、添加类库项目 Demo02.Interface、Demo02.Service 2、创建ITestServiceA接口 namespace Demo 阅读全文
posted @ 2022-12-30 14:02 燕钰达 阅读(308) 评论(0) 推荐(0) 编辑
摘要:builder.Services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);//支持 阅读全文
posted @ 2022-12-30 09:18 燕钰达 阅读(140) 评论(0) 推荐(0) 编辑
摘要:异常:System.IO.FileNotFoundException:“Could not find file 'F:\.net core stuty\Demo02\Demo02\bin\Debug\net6.0\Demo02.xml'.” 解决方法: 详细请见:.net 6 配置使用swagger 阅读全文
posted @ 2022-12-29 13:26 燕钰达 阅读(596) 评论(0) 推荐(0) 编辑
摘要:注:.net 6 注册使用Swagger 封装扩展静态类方法 注: C# .net core(.net 6) 注册使用Swagger 封装扩展静态类方法 一、Version版本控制 1、安装两个NuGet包 Microsoft.AspNetCore.Mvc.VersioningMicrosoft.A 阅读全文
posted @ 2022-12-29 13:20 燕钰达 阅读(1769) 评论(0) 推荐(0) 编辑
摘要:注:Swagger配置参考:.net 6 配置使用swagger C#扩展静态类方法实现参考:https://www.cnblogs.com/spirit-ling/p/14537735.html 1、创建SwaggerExtension.cs 类 项目下创建Utility文件夹(用于存放扩展类) 阅读全文
posted @ 2022-12-29 11:07 燕钰达 阅读(555) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示