全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsyncExceptionFilter { private readonly ILogger _logger; /// <summary> /// /// </summary> /// &lt[......]继续阅读

2021年8月12日 0条评论 2972点热度 0人点赞 痴者工良 阅读全文

直接使用 .NET 的 CLR 库生成,不依赖第三方框架。 已将代码修正为最新实现,去掉过时接口。 基于密码的密钥导出函数2(PBKDF2)让别人更难通过穷举法猜到你的帐户密码。 pbkdf2 加密是不可逆的,因此可以用来处理密码等,只能对比,不能还原。 比如说,每个用户设置一个加密密钥,每个用户使用自己的密钥加密密码,且密码不可逆。 即使拿到一个用户的密码,破解了,每个用户的密钥都是不一样的,没法大规模爆破。 /// <summary> /// Pbkdf2 /// </summary> …

2021年8月12日 0条评论 2656点热度 0人点赞 痴者工良 阅读全文

当直接使用 API 获取 Claim 时,是不会检查 Token 的密钥是否正确的。 var jwt = jwtSecurityTokenHandler.ReadJwtToken(token); 如果要同时检查 Token,则可以这样使用: // 检查密钥 ClaimsPrincipal claimsPrincipal = jwtSecurityTokenHandler.ValidateToken(token, new TokenValidationParameters[......]继续阅读

2021年8月12日 0条评论 2544点热度 0人点赞 痴者工良 阅读全文

常用的 Json 序列化配置如下: // json 序列化配置 private static readonly JsonSerializerOptions JsonSetting = new JsonSerializerOptions() { // 首字母小写 PropertyNamingPolicy = JsonNamingPolicy.CamelCase, // 格式化输出,即自动换行、加上空格 WriteIndented = true,[......]继续阅读

2021年8月12日 0条评论 4245点热度 3人点赞 痴者工良 阅读全文

中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using System.Text.Json; using System.Threading.Tasks; namespace AuthCenter.Domain.Middlewares { /// <summary> /// …

2021年8月12日 0条评论 2364点热度 0人点赞 痴者工良 阅读全文

Docker 如果使用 Nexus 配置 Docker 私有仓库,但是 Docker 不配置好地址,那么拉取镜像时会提示: Error response from daemon: Get https://192.168.0.111:666/v2/: http: server gave HTTP response to HTTPS client 首先在 Nexus 上配置好 Docker 仓库。 例如下图,其端口是 8082。 因为使用的是 HTTP、HTTPS ,因此需要配置修改参数,打开 /etc/docker/…

2021年8月11日 0条评论 2288点热度 0人点赞 痴者工良 阅读全文

为了配置 Linux 免密登录,之前找到方法都是比较麻烦的,后面发现一种只需要两个步骤就能完成免密登录配置的方法。 假如,在 Linux A 免密登录 Linux B。 那么在 A 上生成 私钥公钥: ssh-keygen 生成后,将公钥推送到 B 中: ssh-copy-id <user>@<ip> # 或者 scp /root/.ssh/id_rsa.pub <user>@<ip>1:/root/.ssh/authorized_keys 接着首次输入密码. 然后会…

2021年8月4日 0条评论 2801点热度 1人点赞 痴者工良 阅读全文

在 ASP.NET Core 中生成验证码的方法以及代码: 引入 ZKWeb.System.Drawing ,其代码示例如下: /// <summary> /// 验证码服务 /// </summary> public class VerificationCode { // 验证码有效期(秒) private const int ValiditySecond = 60; // 宽、高,字体大小 private const int CodeWidth = 74;[......]继续阅读

2021年7月21日 0条评论 2389点热度 0人点赞 痴者工良 阅读全文

本文主要介绍 C# 命名空间 System.Buffers.Binary 中的一些二进制处理类和 Span 的简单使用方法,这些二进制处理类型是上层应用处理二进制数据的基础,掌握这些类型后,我们可以很容易地处理类型和二进制数据之间的转换以及提高程序性能。 C# 原语类型 按照内存分配来区分,C# 有值类型、引用类型; 按照基础类型类型来分,C# 有 内置类型、通用类型、自定义类型、匿名类型、元组类型、CTS类型(通用类型系统); C# 的基础类型包括: 整型: sbyte, byte, short, ushort,…

2021年7月20日 0条评论 2272点热度 0人点赞 痴者工良 阅读全文

导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 周日花了时间把这个库更新,修复了一些 Bug,增加了一些有趣的功能,支持多服务器多应用,支持 wpf、winfrom、.NET Core 等应用,在不需要暴露端口的情况下,也可以推送监控数据到 Prometheus,支持自定义数据源。 另外对 Grafana 模板进行了一些优化,增加了一些数据源。 根据机…

2021年7月18日 0条评论 2403点热度 0人点赞 痴者工良 阅读全文

空接口,发布者订阅者通讯,需要一个实现了 IEventData 的类。 /// <summary> /// 事件数据 /// </summary> public interface IEventData { } 事件,订阅者需要实现这个类型,当发布者发布一个 IEventData 类型的数据时,此事件会被触发。 当然,你也可以创建一个同步事件。 /// <summary> /// 异步事件 /// </summary> /// <typeparam name=&…

2021年7月13日 0条评论 2418点热度 0人点赞 痴者工良 阅读全文

在 ControllerBase 中,其 HttpContext 的默认为空。 这些属性依赖于 ControllerContext。 当然我们也可以注入 IHttpContextAccessor,在每个控制器的构造函数中写进去,比较麻烦。我可以统一通过 控制器激活器进行统一注入。 /// <summary> /// Controller 激活器 /// </summary> public class ControllerActivator : IControllerActivator { p…

2021年7月12日 0条评论 2686点热度 0人点赞 痴者工良 阅读全文

在后端中,当有分布式需求时,我们常常使用 64位 的数字类型表示字段类型,但是前端并不支持超过 16 位长度的数值类型,所以后端长度较大的 long、ulong 数值传到后端,其准确度就已经丢失。 解决方法就是将 ulong、long 转为字符串,传递给后端。 public class TentantQueryDto { public ulong Id { get; set; } } 这是一个后端模型, Id 为 64 位数值,我们要做到前端传递 string,自动转 ulong;后端传递 ulong,自动返回 s…

2021年7月12日 1条评论 4044点热度 0人点赞 痴者工良 阅读全文

导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 视频地址: https://www.bilibili.com/video/BV18y4y1K7Ax/ 效果图预览: 安装 ProcsssMetrics 只需要通过 Nuget 安装一个库,即可快速为程序添加资源监视。 新建一个 ASP.NET Core 应用, Nuget 中搜索 CZGL.Process…

2021年7月4日 0条评论 2420点热度 0人点赞 痴者工良 阅读全文

Jenkins 流水线远程部署 .NET Core/Framework 到 IIS 导读 在本章中,将会介绍在 Windows Jenkins 上,编译 .NET Core、.NET Framework 项目,以及远程部署到 IIS 中。 Windows 我们先在 Windows 上安装好相应的环境。 Jenkins 依赖于 JDK 11,请自行查找方法安装。 在 https://www.jenkins.io/download/ 中可以下载到 Windows Jenkins 版本的安装包,下载完毕后,直接安装即可,…

2021年6月25日 0条评论 2623点热度 0人点赞 痴者工良 阅读全文

目录 导读 部署 Jenkins 安装插件 拉取镜像 制作 Jenkinsfile 脚本 构建流水线 观察 Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署、启动 Jenkins,编写脚本,自动化构建 .NET Core 应用,最终将 .NET Core 应用打包为 Docker 镜像。 部署 Jenkins 请提前在 Linux 上安装 Docker,在 Linux 中,我们使用 Docker 启动 Jenkins,这样可以避免手动安装…

2021年6月24日 0条评论 2426点热度 0人点赞 痴者工良 阅读全文

目录 Kubectl 命令大全 安装 Kubernetes-Dashboard RESTful API 鉴权 注解 Pod YAML 结构 配置 Kubectl 命令大全 在前面,我们学习到了一些 Kubernetes 知识,现在列出 kubectl 的所有命令以及其缩写形式,供翻阅查询。 kubectl 命令格式: kubectl [command] [type] [Name] [flag] all events (ev) podsecuritypolicies (psp) certificatesigningr…

2021年4月29日 1条评论 10265点热度 0人点赞 痴者工良 阅读全文

目录 更新 上线 会滚 缩放 Deployment 直接设置 Pod 水平自动缩放 比例缩放 暂停 Deployment 上线 本篇内容讨论 Pod 的更新和回滚,内容不多。 更新 打开 https://hub.docker.com/_/nginx 可以查询 nginx 的镜像版本,我们可以先选择一个旧一点的版本。 首先,我们创建一个 Nginx 的 Deployment,副本数量为 3。 kubectl create deployment nginx --image=nginx:1.19.0 --replicas…

2021年4月25日 0条评论 2584点热度 0人点赞 痴者工良 阅读全文

目录 Srevice Service 的创建及现象 Service 定义 Endpoint slices 创建 Endpoint、Service Service 创建应用 创建 Endpoint 浅入Kubernetes(8):外网访问集群 中已经介绍过部署一个 Deployment 和 Service,本篇是它的补充,将会广泛地聊一下 Service。 文章地址 https://www.cnblogs.com/whuanle/p/14685430.html Srevice Service 是将运行在一组 Pods…

2021年4月23日 0条评论 2780点热度 0人点赞 痴者工良 阅读全文

目录 标签和nodeSelector 标签选择 亲和性和反亲和性 污点和容忍度 系统默认污点 容忍度 DaemonSet 在前面的学习中,我们学到了 Deployment 部署,以及副本数(ReplicaSet),但是 Pod 部署到哪个 Worker 节点是随机,即使有 3个 Woker 和设定 3个 副本,不一定每个 Node 刚刚好运行一个 Pod,也可能其中 Node 运行着三个副本。 在本篇我们将探究 Kubernetes 中的 DaemonSet、容忍度、亲和性、Label、选择器等概念,以便控制 po…

2021年4月23日 0条评论 2962点热度 0人点赞 痴者工良 阅读全文
191011121326