public class TestNoopHostLifetime : IHostLifetime { public Task StopAsync(CancellationToken cancellationToken) { C[......]继续阅读
public class TestNoopHostLifetime : IHostLifetime { public Task StopAsync(CancellationToken cancellationToken) { C[......]继续阅读
public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder[......]继续阅读
包: Microsoft.AspNetCore.Mvc.Testing Microsoft.AspNetCore.TestHost Moq 集成测试可在包含应用支持基础结构(如数据库、文件系统和网络)的级别上确保应用组件功能正常。 ASP.NET Core 通过将单元测试框架与测试 Web 主机和内[......] 继续阅读
继承 IActionResult: public class ResponseResult<TData> : IActionResult { /// <summary> /// 状态码 /// </summ[......]继续阅读
全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsync[......]继续阅读
直接使用 .NET 的 CLR 库生成,不依赖第三方框架。 已将代码修正为最新实现,去掉过时接口。 基于密码的密钥导出函数2(PBKDF2)让别人更难通过穷举法猜到你的帐户密码。 pbkdf2 加密是不可逆的,因此可以用来处理密码等,只能对比,不能还原。 比如说,每个用户设置一个加密密钥,每个用户使[......] 继续阅读
当直接使用 API 获取 Claim 时,是不会检查 Token 的密钥是否正确的。 var jwt = jwtSecurityTokenHandler.ReadJwtToken(token); 如果要同时检查 Token,则可以这样使用: [......]继续阅读
中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using Syst[......]继续阅读
导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 周日花了时间把这个库更新,修复了一些 Bug,增加了一些有趣的功能,支持多服务器多应用[......] 继续阅读
在 ControllerBase 中,其 HttpContext 的默认为空。 这些属性依赖于 ControllerContext。 当然我们也可以注入 IHttpContextAccessor,在每个控制器的构造函数中写进去,比较麻烦。我可以统一通过 控制器激活器进行统一注入。 ///[......]继续阅读
在后端中,当有分布式需求时,我们常常使用 64位 的数字类型表示字段类型,但是前端并不支持超过 16 位长度的数值类型,所以后端长度较大的 long、ulong 数值传到后端,其准确度就已经丢失。 解决方法就是将 ulong、long 转为字符串,传递给后端。 public class Te[......]继续阅读
导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 视频地址: https://www.bilibili.com/video/BV18y4[......] 继续阅读
Jenkins 流水线远程部署 .NET Core/Framework 到 IIS 导读 在本章中,将会介绍在 Windows Jenkins 上,编译 .NET Core、.NET Framework 项目,以及远程部署到 IIS 中。 Windows 我们先在 Windows 上安装好相应的环境[......] 继续阅读
目录 导读 部署 Jenkins 安装插件 拉取镜像 制作 Jenkinsfile 脚本 构建流水线 观察 Jenkins 构建自动化 .NET Core 发布镜像 导读 在本章中,将介绍如何在 Linux 下使用 Docker 部署、启动 Jenkins,编写脚本,自动化构建 .NET Cor[......] 继续阅读
目前已经完成三篇关于 kubernetes 的文章: 在 Ubuntu 上安装 K8S教程 浅入kubernetes(1):Kubernetes 入门基础 浅入kubernetes(2):Kubernetes 的组成 第二第三篇主要介绍 k8s 中的一些组件、关键字的定义和简述,内容对于新人(例如我[......] 继续阅读
目录 跨平台 UI 应用 Blazor 桌面应用 System.CommandLine 其它更新 ASP.NET Core 最近 .NET 6 Preview 1 发布了,.NET 统一是此版本的核心。大家可以读一下原文博客: https://devblogs.microsoft.com/dot[......] 继续阅读
- [托管代码](#托管代码) - [自动内存管理](#自动内存管理) 垃圾回收 GC 内存 物理内存 虚拟内存 .NET 内存组成 CLR 中的内存 CLR 虚拟内存状态 内存分配 内存释放 垃圾回收的条件 托管堆 本机堆(Native Heap) 托管堆(Managed Heap[......] 继续阅读
Log and distributed link tracking in .NET Core Logs in .NET Core Console output Non-intrusive logging Microsoft.Extensions.Logging ILoggerFactory [......] 继续阅读
说明 Kubernetes集群的组成 What are containerized applications? What are Kubernetes containers? What are Kubernetes pods? What is the difference between conta[......] 继续阅读
区分 调试和发布环境 众所周知,Debug 是在开发、在 VS 中时,自动会有的编译常量,而代码发布后则是 Release。 为了在 Debug、Release 环境下出现不同的编译条件。 .NET Core 项目添加条件编译变量,可在 .csproj 中加上 <PropertyGroup[......]继续阅读