.netCore
会飞的尼古拉斯
没有个性,但比较尿性
展开
-
k8s 部署ETCD ,并且使用.net core 连接获取配置
【代码】k8s 部署ETCD ,并且使用.net core 连接获取配置。原创 2024-09-24 17:35:13 · 226 阅读 · 0 评论 -
asp.net core web api 使用apollo配置更改回调监听
【代码】asp.net core web api 使用apollo配置更改回调监听。原创 2024-09-19 14:44:06 · 525 阅读 · 0 评论 -
efcore 多租户动态设置查询schema
其中我们在OnModelCreating中指定了schema,需要注意的是OnModelCreating只会执行一次,因为为了提高performance,efcore对数据进行了缓存,我们需要重写。想象一下,你有一个多租户的系统,数据分别存储在不同的schema中,现在用户需要指定schema,从不同的schema中查询数据。原创 2024-07-22 11:35:43 · 250 阅读 · 0 评论 -
.net core WebAPI mongodb 动态查询
我想要实现efcode的expression功能,恰好mongodb.driver的Builders.Filter 支持&(and),|(or)原创 2024-07-17 11:46:09 · 101 阅读 · 0 评论 -
.net core Redis 使用有序集合实现延迟队列
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。有序集合的成员是唯一的,但分数(score)却可以重复。原创 2024-07-03 10:48:04 · 464 阅读 · 0 评论 -
Asp.net Core 反射加载dll
【代码】Asp.net Core 反射加载dll。原创 2024-07-02 14:56:17 · 475 阅读 · 2 评论 -
数据校验 FluentValidation使用详解
创建第一个认证若要为特定对象定义一组验证规则, 您需要创建一个从 AbstractValidator 继承的类, 其中泛型T参数是要验证的类的类型。假设您有一个客户类别:接下来自定义继承于 AbstractValidator 泛型类的验证器,然后在构造函数中使用 LINQ 表达式编写 RuleFor 验证规则。若要执行验证程序,我们通过定义好的 CustomerValidator 验证器传入实体类 Customer 即可。该验证方法返回一个 ValidationResult 对象,表示验证结果,Va原创 2024-01-19 15:34:43 · 1117 阅读 · 0 评论 -
C# 根据指定的类型,动态转换object数据到指定类型
动态转换数据类型原创 2023-12-26 10:42:19 · 961 阅读 · 0 评论 -
.net core 表达式树Expression代码定义
表达式树原创 2023-12-26 10:24:01 · 412 阅读 · 0 评论 -
.net 洋葱模型
Mybusiness 这是实现业务的地方,注入两个接口,一个是获取数据,一个是发送信息,实现均在控制台工程实现。简单的例子,引用依赖图。原创 2023-12-12 16:38:04 · 348 阅读 · 0 评论 -
.net core DI注入,构造函数含有动态参数
使用.net core 开发的时候我们使用依赖注入来实例化需要的服务等,有时候这个服务类的构造函数是有参数的,此时想使用依赖注入就变得很麻烦。我们可以采用工厂模式,去构造demo如下。原创 2023-09-26 13:20:35 · 988 阅读 · 0 评论 -
.net core API DTO AutoMapper的使用
dto mapper原创 2023-08-07 16:55:18 · 203 阅读 · 0 评论 -
.net core background service
IHostedService原创 2023-08-07 13:54:05 · 1090 阅读 · 0 评论 -
.net 6 efcore一个model映射到多张表(非使用IEntityTypeConfiguration)
动态设置表名原创 2023-08-04 15:52:10 · 1989 阅读 · 0 评论 -
.net core elasticsearch 运行dsl,并设置index
.net core 运行dsl原创 2023-04-17 14:23:23 · 619 阅读 · 0 评论 -
.net core confluent kafka消费者
.net core kafka 消费者原创 2023-01-06 10:17:05 · 783 阅读 · 0 评论 -
.net core 中使用confluent kafka构建生产者
.net core Kafka生产者原创 2023-01-05 11:17:48 · 834 阅读 · 0 评论 -
.net core Elasticsearch 更新文档,updatebyquery
elasticsearch 更新原创 2022-11-21 12:02:16 · 827 阅读 · 0 评论 -
.net core elasticsearch 打印查询DSL,以及model设置mapping,查询nested结构化数据
elasticsearch mapping以及设置打印DSL原创 2022-11-16 14:02:20 · 576 阅读 · 0 评论 -
.net core elasticsearch 高亮以及限制返回的字段,自定义_id字段
elasticsearch 高亮以及限制返回字段原创 2022-11-03 14:13:08 · 579 阅读 · 0 评论 -
.net core 中使用MongoDB
.net core 使用MongoDB原创 2022-11-03 10:44:57 · 834 阅读 · 2 评论 -
.net core elasticsearch 动态构建bool查询以及constent score查询
.net core es动态构建查询条件原创 2022-10-31 15:48:31 · 712 阅读 · 0 评论 -
asp.net core elasticsearch深分页
es深分页原创 2022-10-29 14:15:54 · 496 阅读 · 0 评论 -
.net core 结合elasticsearch 实现计算唯一值
.net core 使用elasticsearch计算唯一值原创 2022-10-28 17:32:16 · 641 阅读 · 0 评论 -
asp.net core JWT传递
Asp.net core JWT传递原创 2022-06-27 10:38:46 · 222 阅读 · 0 评论 -
.netcore redis GEO类型
redis geo原创 2022-06-21 10:27:15 · 243 阅读 · 0 评论 -
Asp.NetCore 中使用grpc
.net core Grpc原创 2022-06-15 11:16:30 · 534 阅读 · 0 评论 -
.net core redis hyperloglog类型
关于 Redis HyperLogLog在说明 HyperLogLog 之前,我们需要先了解一个概念:基数统计。维基百科中的解释是:cardinality of a set is a measure of the “number of elements“ of the set它的意思是:一个集合(注意:这里集合的含义是 Object 的聚合,可以包含重复元素)中不重复元素的个数。例如集合 {1,2,3,1,2},它有5个元素,但它的基数/Distinct 数为3。Redis 最常用的数据结构有字符串原创 2022-05-30 11:13:44 · 197 阅读 · 0 评论 -
关于如何在asp .net core 中注册泛型接口
关于泛型的介绍泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:using System;using System.Collections.Generic;namespace GenericApplicat.原创 2022-05-27 16:39:36 · 346 阅读 · 0 评论 -
.net core 操作redis set类型封装
前面介绍了列表(list),列表中的数据是有序存储的,而且可以重复,但是集合中的数据是无序存储的,而且是不可重复的。下面介绍set相关的操作命令using StackExchange.Redis;using Microsoft.Extensions.Options;using CoreRedis.Models;using CoreRedis.Config;namespace CoreRedis.RedisDataType{ public class RedisSet {原创 2022-05-18 10:06:09 · 651 阅读 · 0 评论 -
.net core 操作redis list类型封装
using StackExchange.Redis;using CoreRedis.Models;using Microsoft.Extensions.Options;using CoreRedis.Config;namespace CoreRedis.RedisDataType{ public class RedisList { private static readonly object Locker = new object(); priv原创 2022-05-17 18:22:01 · 793 阅读 · 0 评论 -
.net core 操作redis hash类型封装
using CoreRedis.Config;using Microsoft.Extensions.Options;using Newtonsoft.Json;using StackExchange.Redis;namespace CoreRedis.RedisDataType{ public class RedisHash { private readonly RedisConfig _redisConfig; private Connecti原创 2022-05-17 16:50:16 · 967 阅读 · 0 评论 -
.net core 操作redis string类型的封装
安装依赖包StackExchange.Redisusing Microsoft.AspNetCore.Mvc;using StackExchange.Redis;using StackExchange.Redis.Extensions.Core.Abstractions;using System.Threading;using System.Threading.Tasks;using System.Configuration;using Microsoft.Extensions.Optio原创 2022-05-17 16:49:16 · 496 阅读 · 0 评论 -
.net core中关于Redis单例模式,依赖注入配置类
builder.Services.Configure<RedisConfig>( builder.Configuration.GetSection("RedisConnectionString"));//如下,是个单例的服务,这个服务中需要注入配置项builder.Services.AddSingleton<RedisString>();如何在单例中注入关键是使用 IOptionsMonitorusing Microsoft.AspNetCore.Mvc;u原创 2022-05-17 13:21:18 · 2646 阅读 · 0 评论 -
.net6中让swagger添加JWT
programe.cs中添加这个即可builder.Services.AddSwaggerGen(c =>{ var scheme = new OpenApiSecurityScheme() { Description = "Authorization header. \r\nExample: 'Bearer 12345abcdef'", Reference = new OpenApiReference { T原创 2022-04-11 21:10:20 · 1068 阅读 · 0 评论 -
.net core 使用中间件实现限流
假定我们希望所有的接口1分钟内只允许访问10次,因为所有的请求都需要走中间件,所以这个功能我们可以通过中间件来实现通过设置以下三个响应头让客户端明确知道访问信息X-RateLimit-Limit:同一时间段内的最大访问个数X-RateLimit-Retry-After:超出限制后,再次正常访问时间X-RateLimit-Remaining:同一时间段剩余请求次数访问超限返回429状态码using Microsoft.Extensions.Caching.Memory;namespace EF原创 2022-03-15 22:38:14 · 1093 阅读 · 0 评论 -
.net core 关于使用中间件刷新jwt token
using Microsoft.Extensions.Options;using Microsoft.IdentityModel.Tokens;using System.IdentityModel.Tokens.Jwt;using System.Security.Claims;using System.Text;namespace EFCoreJWT{ public class RefrashTokenMiddle { public RequestDelegat原创 2022-03-10 23:40:42 · 602 阅读 · 0 评论 -
.net core中使用PATCH,部分更新
安装包Microsoft.AspNetCore.Mvc.NewtonsoftJsonprogram.cs添加如下builder.Services.AddControllers() .AddNewtonsoftJson();一个简单的替换APIusing EFCoreDb.Entities;using EFCoreDb.MainFactory;using Microsoft.AspNetCore.Http;using Microsoft.AspNetCore.JsonPat.原创 2022-03-05 00:58:33 · 828 阅读 · 1 评论 -
.net core中过滤器JWT提前撤回
我们都知道JWT是一个无状态的,存储在客户端,服务端无法提前撤回。这里的解决思路是生成JWT时,给一个版本号,用户再次登录时,版本号加一,当用户使用旧的JWT登录的时候,会比对数据库中存储的version以及JWT中的version,假如不一样则登录失败本文使用Identity实现RBAC给用户表添加JWTVersion字段using Microsoft.AspNetCore.Identity;namespace EFCoreJWT{ public class MyUser: Ide原创 2022-02-19 21:48:39 · 351 阅读 · 0 评论 -
.net core 中使用HostService
HostService可以用来初始化数据新建一个类继承自BackgroundService注意hostservice中服务注入的方式namespace EFCoreJWT{ public class HostServiceDemo : BackgroundService { private readonly IServiceScopeFactory _scopeFactory; private readonly IServiceScope _ser原创 2022-02-17 22:32:45 · 1342 阅读 · 0 评论