温故知新 风格webapi core
C#中的.net6 WebAPI + Vue3
ShoopingWeb没有控制器,普通api有控制器,ShoopingWeb是直达型,精简了很多中间代码,广泛适用于微服务架构 ShoopingWeb一切都在组控制台应用程序类【Program】上执行,也可以自由分类封装 namespace ShoopingWeb { public static c ......
.Net Core 使用Magick.NET 将PDF文件转成图片
一、在使用前需要在电脑上安装ghostscript,对于ghostscript的详细介绍,可自行百度查看(https://ghostscript.com/)。以下是分享的百度云盘资源。链接:https://pan.baidu.com/s/1uKekX4iWCEDAsZWDsDMG0Q?pwd=9kk ......
ASP.NET Core 授权二(自定义token)
TokenAuthenticationHandler.cs 首先自定义一个类TokenAuthenticationHandler,然后需要继承IAuthenticationHandler接口 具体代码: public class TokenAuthenticationHandler : IAuthe ......
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询
Ef Core花里胡哨系列(5) 动态修改追踪的实体、动态查询 同样还是IModelCacheKeyFactory,不过这次要采用主动刷新的方式。 实现DbContext 动态实体,根据配置等生成动态类型来当作数据库实体使用,当配置修改时,可以调用DynamicModelCacheKeyFactor ......
Ef Core花里胡哨系列(4) 多租户
Ef Core花里胡哨系列(4) 多租户 当然,我们要考虑设计问题,例如,切换Schema或者改变数据库时,Ef Core同样也会刷新改实体的缓存,所以,首次查询将会很慢,不适合大表。 基于Schema实现多租户 在我的上一篇博客中 [Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、 ......
Ef Core花里胡哨系列(2) 移除外键、扩展操作
Ef Core花里胡哨系列(2) 移除外键、扩展操作 虽然数据库的外键有着举足轻重的作用,但是在通常的软件设计中,很多人嫌弃麻烦,从而放弃了Ef Core的Codo-First模式而转向Db-First模式。但是Db-First不是很严谨,所以我这里就是提供一种相对折中的方式:在Code-Frist ......
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户
Ef Core花里胡哨系列(3) 动态修改实体对应的表(分表)、多租户 Ef Core在加载的时候,会执行一次OnModelCreating用来加载所用到的实体。我们要做的就是刷新Ef Core上下文中之前缓存的内容。 分表 我们假如有一个程序,会每个月创建一个Table年月的表,我们要做的是每个月 ......
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等
Ef Core花里胡哨系列(1) SafeDelete、ReadOnly、Audit 安全删除、只读、审计等 在软件设计中,软删除是一种常见的数据管理技术,用于标记和隐藏被删除的数据,而不是永久地从数据库中删除它们。软删除通常通过在数据表中添加一个额外的标志列(例如"IsDeleted")来实现。当 ......
Unity URP 风格化云
前言 云的实现一般有三种思路:Volume体积云、billboard公告牌、Particle粒子,对于风格化来说体渲染的实现过于真实(但光遇的风格化云貌似是使用体渲染实现的,后面有空会考虑尝试还原还原),而Particle消耗太大了!因此本文将着重展现如何使用公告牌技术实现一个不错的风格化云效果 Y ......
【ASP.NET Core】使用SignalR推送服务器日志
一个多月前接手了一个产线机器人项目,上位机以读写寄存器的方式控制机器人,服务器就是用 ASP.NET Core 写的 Web API。由于前一位开发者写的代码质量问题,导致上位机需要16秒才能启动。经过我近一个月的改造,除了保留业务逻辑代码,其他的基本重写。如今上位机的启动时间在网络状态良好的条件下 ......
ASP.NET Core 配置系列一
ASP.NET Core 配置主要通过这3个文件设置: 1 项目文件也叫.csproj 文件 2 Program.cs 3 appsettings.json 这些配置告诉ASP.NET Core 应用程序基于用户的交互是如何工作的,在本节中我们理解ASP.NET Core 项目配置文件,我们创建一下 ......
ASP.NET Core Razor融合JS库Demo
cshtml.cs using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; namespace RazorTest.Pages { public class PrivacyModel : PageModel ......
快速上手 dbt 数据转换工具 -- dbt core 命令进阶篇
引 根据第一篇文章的约定,我想通过接下来的几篇文章带大家进一步了解 dbt 的用法,原计划这篇文章我会介绍 dbt 命令的进阶用法,进一步认识 dbt 的配置以及如何创建增量表等等零零散散十几个方面的知识点,结果在我写完命令部分发现篇幅就过长了,考虑到大家对于知识的吸收,想了想还是把命令单独作为一个 ......
ASP.NET Core (.NET 7) 中的速率限制中间件
ASP.NET Core 中的速率限制中间件可以用于限制特定资源在一段时间内允许的请求次数。速率限制可以用于保护服务器资源,防止拒绝服务 (DoS) 攻击。Microsoft.AspNetCore.RateLimiting 或 AspNetCoreRateLimit 中间件提供速率限制中间件。 ......
ASP.NET Core 之路由相关
ASP.NET Core中路由的过程:routing middleware把传入的url与一系列模板进行比对,选择相应的endpoint handler,并将其记录在HttpContext上的request上。endpoint middleware执行选择的endpoint hander,并返回re ......
Asp .Net Core 集成 FluentValidation 强类型验证规则库
目录入门程序安装案例:登录验证器内置验证器自定义验证器编写自定义验证器可重复使用的属性验证器本地化DI自动验证 官网:https://docs.fluentvalidation.net/en/latest/index.html 入门程序 安装 使用 Visual Studio 中的 NuGet 包管 ......
ASP.NET Core MiniAPI中 EndPoint相关
1.状态码返回之演化之路 1.1最基本的就是用Results或者TypedResults返回带有状态码的响应(可选Json响应体) app.MapGet("/fruit/{id}", (string id) => { if (_fruit.TryGetValue(id, out Fruit frui ......
.Net Core WebAPI 缓存
Asp.Net Core WebAPI 缓存 一、缓存 缓存指在中间层中存储数据的行为,该行为可使后续数据检索更快。 从概念上讲,缓存是一种性能优化策略和设计考虑因素。 缓存可以显著提高应用性能,方法是提高不常更改(或检索成本高)的数据的就绪性。 二、RFC9111 在最新的缓存控制规范文件RFC9 ......
ASP.NET Core 6(.NET 6) Program.cs中使用读取appsettings.json配置文件
在ASP.NET Core 6 (.NET 6)中,可以使用Json格式的appsettings.json配置文件来配置应用程序,用于存储应用程序的配置信息,方便我们灵活的配置应用程序。本文主要介绍Program.cs中,使用读取appsettings.json配置文件的方法,以及相关的示例代码 ......
如何在 EF Core 中使用乐观并发控制
什么是乐观并发控制? 乐观并发控制是一种处理并发访问的数据的方法,它基于一种乐观的假设,即认为并发访问的数据冲突的概率很低。在乐观并发控制中,系统不会立即对并发访问的数据进行加锁,而是在数据被修改时,再检查是否有其他并发操作已经修改了数据。如果检测到冲突,系统 再采取相应的措施来解决冲突。 EF C ......
.net core 单元测试项目搭建
背景和目的 为了提高系统稳定性,通常我们有两方面的计划: 黑盒测试:自动化测试,以接口来主体,通过控制入参的形式,检验出参,来模拟用户在线上的实际业务;(可以覆盖绝大部分的业务) 白盒测试:单元测试,以关键逻辑方法为主体,通过控制入参的形式,检验数据变化,站在开发的角度上来模拟实际调用(可以覆盖复杂 ......
Taurus .Net Core 微服务开源框架:Admin 插件【4-8】 - 配置管理-Mvc【Plugin-Limit 接口访问限制、IP限制、Ack限制】
本篇主要介绍Taurus.Mvc 微服务框架的配置项:系统配置节点:Mvc - Plugin - Limit 接口访问限制、IP限制、Ack限制的相关内容。 ......
Asp.net WebApi Swagger Tag 标记分组归纳显示Api接口路由
官方文档说明地址 https://swagger.io/docs/specification/2-0/grouping-operations-with-tags/ 创建一个自定义的特性类 public class ControllerGroupAttribute : Attribute { publ ......
Google Java 编程风格指南
目录前言术语说明指南说明源文件基础文件名文件编码:UTF-8特殊字符空白字符特殊转义序列非ASCII字符源文件结构许可证或版权信息package语句import语句import不要使用通配符不要换行顺序和间距类声明只有一个顶级类声明类成员顺序重载:永不分离格式大括号使用大括号(即使大括号仅是可选的) ......
ASP.NET Core 授权一(简单的Cookie)
Cookie 1.HTTP无连接无状态,Cookie和Session就是解决此问题。 2.客户端向服务器端发送一个请求的时,服务端向客户端发送一个Cookie 然后浏览器将Cookie保存,之后每次HTTP请求浏览器都会将Cookie发送给服务器端,需要衡量把什么数据放到cookie中,很多数据并不 ......
试试这 6 个小技巧,提升 EF Core 性能
Entity FrameWork(简称 EF)以面向对象的方式操作数据库给开发人员带来了很大的便利性,但其性能问题从面世以来就一直就被广大的 .NET 生态开发技术人员所吐槽,然而,它真的那么不堪使用吗?试试下面这 6 个小技巧,瞬间极大提升 EF Core 性能: AsNoTracking 在项目 ......
.NET Core发送HTTP Post和Get
/// <summary> /// 公共方法—— 发送http post请求 2020年6月2日11:20:42 Dennyhui /// </summary> /// <param name="formData">参数</param> /// <param name="requestUri">请求 ......
ASP.NET Core 操作 Redis
【ASP.NET Core中使用Redis缓存】https://www.cnblogs.com/dotnet261010/p/12033624.html【ASP.NET Core分布式缓存Redis主从Sentinel哨兵模式实战演练 】https://www.bilibili.com/read/c ......
ASP.NET Core 内置异常中间件的三种方法
方法一 app.UseExceptionHandler(configure =>{ configure.Run(async context => { var excHandler = context.Features.Get<IExceptionHandlerPathFeature>(); var ......
定制JSON转换:探索.NET Core中JsonSerializerOptions的秘密
概述:在.NET Core中,通过JsonSerializerOptions的JsonConverter参数,我们能够定制化JSON序列化和反序列化过程。通过自定义JsonConverter,如DateTimeConverter和IntConverter,我们能够灵活处理特定类型的转换逻辑,提供更多 ......