下毒代码如下: void Main() { Value a = 0; if (a == 1 && a == 2 && a == 3) { Console.WriteLine("给代码下点毒"); return;[......]继续阅读
下毒代码如下: void Main() { Value a = 0; if (a == 1 && a == 2 && a == 3) { Console.WriteLine("给代码下点毒"); return;[......]继续阅读
代码所示,将 Table 导出为 .csv 格式的数据。 public static async Task SaveCSV(DataTable dt,string[] header, string fileName) { StringBuild[......]继续阅读
继承 IActionResult: public class ResponseResult<TData> : IActionResult { /// <summary> /// 状态码 /// </summ[......]继续阅读
全局异常拦截器: /// <summary> /// Web 全局异常过滤器,处理 Web 中出现的、运行时未处理的异常 /// </summary> public class WebGlobalExceptionFilter : IAsync[......]继续阅读
直接使用 .NET 的 CLR 库生成,不依赖第三方框架。 using System; using System.Linq; using System.Security.Cryptography; /// <summary> /// 哈希加解密帮助类 /// &[......]继续阅读
当直接使用 API 获取 Claim 时,是不会检查 Token 的密钥是否正确的。 var jwt = jwtSecurityTokenHandler.ReadJwtToken(token); 如果要同时检查 Token,则可以这样使用: [......]继续阅读
常用的 Json 序列化配置如下: // json 序列化配置 private static readonly JsonSerializerOptions JsonSetting = new JsonSerializerOptions() {[......]继续阅读
中间件示例: using AuthCenter.Domain.Modules; using Microsoft.AspNetCore.Http; using System; using System.Collections.Generic; using System.Text; using Syst[......]继续阅读
在 ASP.NET Core 中生成验证码的方法以及代码: 引入 ZKWeb.System.Drawing ,其代码示例如下: /// <summary> /// 验证码服务 /// </summary> public class Verifi[......]继续阅读
本文主要介绍 C# 命名空间 System.Buffers.Binary 中的一些二进制处理类和 Span 的简单使用方法,这些二进制处理类型是上层应用处理二进制数据的基础,掌握这些类型后,我们可以很容易地处理类型和二进制数据之间的转换以及提高程序性能。 C# 原语类型 按照内存分配来区分,C# 有[......] 继续阅读
导读 CZGL.ProcessMetrics 是一个 Metrics 库,能够将程序的 GC、CPU、内存、机器网络、磁盘空间等信息记录下来,使用 Prometheus 采集信息,然后使用 Grafana 显示。 周日花了时间把这个库更新,修复了一些 Bug,增加了一些有趣的功能,支持多服务器多应用[......] 继续阅读
空接口,发布者订阅者通讯,需要一个实现了 IEventData 的类。 /// <summary> /// 事件数据 /// </summary> public interface IEventData { } 事件,订阅者需要[......] 继续阅读
在 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[......] 继续阅读
Windows 和 Linux 都会有一些隐藏的分区,例如 EFI、boot 等。在 Linux 中情况又复杂对得多,例如 Docker 映射的分区/卷等,ram 交换页文件等。 Linux 中 DriveType 嗨哟 Fixed、Ram、CD 等类型,如果要对其进行筛选,编写获取方法是一件较为麻[......] 继续阅读
目录 跨平台 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[......] 继续阅读