随笔分类 -  .Net Core

摘要:前言 WorkFlowCore是一个针对.NetCore的轻量级的工作流引擎,提供了FluentAPI、多任务、持久化以及并行处理的功能,适合于小型工作流、责任链的需求开发。支持工作流长期运行,提供了各种持久化方式。 本篇开发环境为.Net7,此处不演示Json和yaml配置,详细文档请查看官方文档 阅读全文
posted @ 2023-04-13 09:31 以往清泉 阅读(4607) 评论(4) 推荐(12) 编辑
摘要:关于consul的介绍就不写了百度就行,我们直接开干。 一、部署consul集群 拉取consul的镜像 docker pull consul 然后部署consul容器 docker run --name consul1 -d -p 8500:8500 -p 8300:8300 -p 8301:83 阅读全文
posted @ 2023-03-20 09:27 以往清泉 阅读(444) 评论(0) 推荐(2) 编辑
摘要:1、下载安装包 安装有很多方式,我们选择安装在自己电脑上,地址是https://loic-sharma.github.io/BaGet/#baget-sdk 2、安装.net core的sdk 如果没有.net core的sdk就需要先安装一下,https://dotnet.microsoft.co 阅读全文
posted @ 2023-03-12 14:00 以往清泉 阅读(150) 评论(0) 推荐(1) 编辑
摘要:C#中访问Elasticsearch主要通过两个包NEST和Elasticsearch.Net,NEST用高级语法糖封装了Elasticsearch.Net可以通过类Linq的方式进行操作,而Elasticsearch.Net相比之下更为原始直接非常自由。 注意:ES的8.X以上的版本有新的包Ela 阅读全文
posted @ 2023-02-17 17:06 以往清泉 阅读(2797) 评论(1) 推荐(3) 编辑
摘要:一、概述 死信有死信队列、死信交换器和死信消息组成。死信消息则有如下三种情况生成: 1.消费者使用basic.reject或 basic.nack并将requeue参数设置为false来拒绝该消息 2.消息设置了TTL过期时间,过期时间内没有消费导致过期 3.消息因超过队列长度导致被丢弃 如果队列删 阅读全文
posted @ 2021-11-20 20:45 以往清泉 阅读(801) 评论(0) 推荐(0) 编辑
摘要:在redis 5.0之前,redis cluster的搭建需要借助Ruby环境,使用redis-trib指令进行集群的管理,redis5.0以后,redis已经内置了集群管理,使用redis-cli客户端指令就可以进行集群的搭建和管理了。 因为是在window下使用,最高版本是3.2.1版本的,所以 阅读全文
posted @ 2021-09-16 14:25 以往清泉 阅读(323) 评论(0) 推荐(0) 编辑
摘要:一、安装Dapr CLI脚手架 开始下载并安装 Dapr CLI,使用powershell,输入以下的语句安装: powershell -Command "iwr -useb https://raw.githubusercontent.com/dapr/cli/master/install/inst 阅读全文
posted @ 2021-07-21 21:51 以往清泉 阅读(1099) 评论(0) 推荐(0) 编辑
摘要:1、队列任务 队列任务只执行在没有异常的情况下仅处理一次,若发生异常,提供重试机制,异常及重试信息都会被记录到数据库中,通过Hangfire控制面板可以查看到这些信息。 可以通过 BackgroundJob.Enqueue() 方法来加载执行队列任务: BackgroundJob.Enqueue(( 阅读全文
posted @ 2021-07-12 22:51 以往清泉 阅读(1619) 评论(0) 推荐(1) 编辑
摘要:仪表盘就是hangfire的网页界面,有要执行的任务、执行情况、报错等后台的敏感信息。 调用仪表盘的方法非常简单,在Starup文件中如下代码: public void Configure(IApplicationBuilder app, IHostingEnvironment env) { //. 阅读全文
posted @ 2021-07-12 21:10 以往清泉 阅读(852) 评论(0) 推荐(1) 编辑
摘要:hangfire会将定时任务等信息存储起来,有内存存储、缓存存储和数据库存储三种方式。 首先在nuget中安装适配.net core版本的库Hangfire.AspNetCore。 一、内存存储 在nuget中找到Hangfire.MemoryStorage进行安装。 之后在Startup文件中添加 阅读全文
posted @ 2021-07-06 21:46 以往清泉 阅读(1313) 评论(0) 推荐(0) 编辑
摘要:一、环境 1.vs2019 2..Net Core 3.1 3.引用 AspNetCoreRateLimit 4.0.1 二、基础使用 1.设置 在Startup文件中配置如下,把配置项都放在前面: public void ConfigureServices(IServiceCollection s 阅读全文
posted @ 2021-07-04 22:35 以往清泉 阅读(1525) 评论(5) 推荐(5) 编辑
摘要:一、创建Redis服务 运行环境是Window,安装Redis请看:安装教程。 直接开始创建Redis服务,演示就创建两个一主一从,先把安装路径下的 redis.windows.conf 文件复制一份重命名并更改端口号为6380, 并且把文件中的bind字段注释,protected-mode设置为n 阅读全文
posted @ 2021-02-03 22:52 以往清泉 阅读(1387) 评论(1) 推荐(3) 编辑
摘要:此片文章目标是将 .Net Core 发布到 Docker 上,并且连接到在 Docker上的 Redis 、上传文件到本机文件夹和连接 sqlserver 数据库。 创建项目 创建项目就不用说了,我是用得 vs2019 创建的 net core 3.1 的项目,把上传文件、连接redis和sqls 阅读全文
posted @ 2020-12-27 22:16 以往清泉 阅读(752) 评论(0) 推荐(1) 编辑
摘要:通过上一篇.Net Core官方的 JWT 授权验证学习到了JWT的授权。可以发现一个问题,就是如果每个接口可以使用的角色都是写死的,这样如果有所修改会非常麻烦,虽然用policy可以一定程度上缓解,但是还是不能根治。 所以,就需要动态的设置接口与权限,由我们自己来处理。 我们先创建一个类 Perm 阅读全文
posted @ 2020-12-05 22:25 以往清泉 阅读(2720) 评论(3) 推荐(2) 编辑
摘要:什么是JWT? JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为JSON对象。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用秘密(使用HMAC算法)或使用RSA或ECDSA的公钥/私钥对对JWT进行签名。 阅读全文
posted @ 2020-11-30 22:20 以往清泉 阅读(13778) 评论(2) 推荐(15) 编辑
摘要:在现实生活中,常常会出现好多对象之间存在复杂的交互关系,这种交互关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。例如,每个人必须记住他(她)所有朋友的电话;而且,朋友中如果有人的电话修改了,他(她)必须告诉其他所有的朋友修改,这叫作“牵一发而动全身”,非常复杂。如果把这种“网状结构 阅读全文
posted @ 2020-11-15 20:18 以往清泉 阅读(723) 评论(0) 推荐(2) 编辑
摘要:FluentValidation 支持与 ASP.NET Core 2.1 或3.1集成(建议使用3.1)。启用后,MVC将使用 FluentValidation 来验证由模型绑定基础结构传递到控制器操作中的对象。 要启用MVC集成,您需要 FluentValidation.AspNetCore 通 阅读全文
posted @ 2020-11-12 21:57 以往清泉 阅读(2516) 评论(1) 推荐(1) 编辑
摘要:学习地址:官方文档,更多更详细的内容可以看官方文档。 FluentValidation 是一个基于 .NET 开发的验证框架,开源免费,而且优雅,支持链式操作,易于理解,功能完善,还是可与 MVC5、WebApi2 和 ASP.NET CORE 深度集成,组件内提供十几种常用验证器,可扩展性好,支持 阅读全文
posted @ 2020-11-11 22:37 以往清泉 阅读(1106) 评论(0) 推荐(1) 编辑
摘要:路由负责将请求 URI 映射到终结点并向这些终结点调度传入的请求。 路由在应用中定义,并在应用启动时进行配置。 路由可以选择从请求包含的 URL 中提取值,然后这些值便可用于处理请求。 通过使用应用中的路由信息,路由还能生成映射到终结点的 URL。 要在 ASP.NET Core 2.2 中使用最新 阅读全文
posted @ 2020-09-09 20:50 以往清泉 阅读(474) 评论(0) 推荐(0) 编辑
摘要:Options模式使用类来对配置项进行访问,这个类称为选项类。选项类有三个要求: 1.必须是包含无参构造函数的非抽象类。 2.类型的属性名称与配置键名称相同,拥有get和set。 3.使用一个属性包含键名称,不在类绑定配置程序的时候进行硬编码。 我们在appsettings.json中加入以下数据: 阅读全文
posted @ 2020-09-02 20:55 以往清泉 阅读(553) 评论(0) 推荐(0) 编辑

//替换成自己路径的js文件