2

.NET外挂系列:6. harmony中一些实用的反射工具包

一:背景 1. 讲故事 本来想研究一下 IL编织和反向补丁的相关harmony知识,看了下其实这些东西对 .NET高级调试 没什么帮助,所以本篇就来说一些比较实用的反射工具包吧。 二:反射工具包 1. AccessTools AccessTools这个工具包用来简化反射操作,你如果看过 harmon ...

一线码农 发布于 2025-05-23 09:26 评论(1) 阅读(238)
0

SQL SERVER 更新锁示例

锁是用来防止在多用户或多线程环境中同时对同一数据进行修改,从而避免数据冲突和损坏。 更新锁 用于避免死锁的锁类型,通常用于对行进行更新时。它防止其他事务对资源进行修改,但允许其他事务进行读取。 示例:在更新某一行数据之前,SQL Server 会首先加上更新锁。 使用 WITH (UPDLOCK)  ...

KimhillZhang 发布于 2025-05-22 14:51 评论(0) 阅读(29)
1

WPF 通过 GetRawPointerDeviceData 从 WM_POINTER 消息触摸裸数据

本文将告诉大家如何在 WPF 里面,通过 GetRawPointerDeviceData 方法从 WM_POINTER 指针消息触摸裸数据,以及解析数据信息获取到更多触摸框上报的信息 ...

lindexi 发布于 2025-05-22 07:11 评论(0) 阅读(93)
2

.NET外挂系列:5. harmony 中补丁参数的有趣玩法(下)

一:背景 1. 讲故事 开局一张表,故事全靠编,为了能够承上启下,先把参数列表放出来。 参数名 说明 __instance 访问非静态方法的实例(类似 this)。 __result 获取/修改返回值,要想修改用 ref。 __resultRef 修改返回引用(方法返回是 ref 返回 )。 __s ...

一线码农 发布于 2025-05-21 22:19 评论(0) 阅读(249)
3

.NET外挂系列:4. harmony 中补丁参数的有趣玩法(上)

一:背景 1. 讲故事 前面几篇我们说完了 harmony 的几个注入点,这篇我们聚焦注入点可接收的几类参数的解读,非常有意思,在.NET高级调试 视角下也是非常重要的,到底是哪些参数,用一张表格整理如下: 参数名 说明 __instance 访问非静态方法的实例(类似 this)。 __resul ...

一线码农 发布于 2025-05-21 10:02 评论(2) 阅读(239)
9

用 Sidecar 容器为 .NET Core 应用做诊断和性能分析

在微服务架构和云原生应用广泛采用的今天,.NET Core 应用被越来越多地部署在 Kubernetes 集群中。然而,一旦这些应用出现性能瓶颈,仅靠传统的日志和指标可能无法定位问题的根本原因。 从 .NET Core 3 开始,微软推出了一系列跨平台的运行时诊断工具,比如: dotnet-coun ...

chester·chen 发布于 2025-05-20 12:30 评论(0) 阅读(492)
3

.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式

一:背景 1. 讲故事 上一篇我们讲到了 注解特性,harmony 在内部提供了 20个 HarmonyPatch 重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决 95% 的问题,言外之意还有一些事情做不到,所以剩下的 5% 只能靠 完全手工 的方式了。 二:注解特 ...

一线码农 发布于 2025-05-20 11:42 评论(0) 阅读(296)
1

C#表达式与运算符

表达式 表达式是由运算符和操作数组成的 运算符设置将对操作数进行什么样的运算 操作数包括文本、常量、变量和表达式 在C#中,如果表达式最终的计算结果为所需的类型值,表达式就可以出现在需要值或对象的任意位置 运算符 运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面 C#中提供 ...

EricsT 发布于 2025-05-20 00:24 评论(0) 阅读(66)
0

2.2.net core 工作流WorkFlow流程(流程设计)

流程设计 WikeFlow官网:http://www.wikesoft.com WikeFlow学习版演示地址:http://workflow.wikesoft.com WikeFlow学习版源代码下载:https://gitee.com/wikesoft/WorkFlow WikeFlow2.0演 ...

WikeSoft 发布于 2025-05-19 17:54 评论(0) 阅读(71)
1

C#语法: init关键字

init关键字是C#9新增的语法,用于属性或索引器中定义访问器。使用init关键字定义的访问器具有init-only的特性,即只能在对象构造期间对属性或索引器元素进行赋值,对象构造完成后,不可以再修改属性或索引器元素的值。 init关键字解决了什么问题 实际上,我个人认为init-only属性和re ...

昏睡红猹 发布于 2025-05-19 16:27 评论(0) 阅读(63)
8

.NET外挂系列:1. harmony 基本原理和骨架分析

一:背景 1. 讲故事 为什么要开这么一个系列,是因为他可以对 .NET SDK 中的方法进行外挂,这种技术对解决程序的一些疑难杂症特别有用,在.NET高级调试 领域下大显神威,在我的训练营里也是花了一些篇幅来说这个,今天我准备用10篇左右来详细聊一聊,供学员和同行们欣赏,详细的文档参考:https ...

一线码农 发布于 2025-05-18 15:42 评论(6) 阅读(1240)
0

ASP.NET Core EFCore 属性配置与DbContext 详解

本文将深入探讨 ASP.NET Core 中 EFCore 的实体属性配置方法及 DbContext 的核心用法,帮助开发者高效管理数据模型与数据库交互。 一、属性配置 实体属性配置是定义模型与数据库映射的核心,EFCore 提供两种方式:数据注解和 Fluent API。 1. 数据注解(Data ...

CSharp精选营 发布于 2025-05-17 08:21 评论(0) 阅读(352)
36

记一次ASP.NET CORE线上内存溢出问题与dotnet-dump的排查方法

前言 这周系统更新了一个版本,部署到线上. 客户反馈整个系统全部都卡顿,随即我们上服务器检查 发现整个服务器内存竟然达到了20-30G的占用..如图: 其中有一个订单服务,独自占用13-18G内存, 当它重启以后,内存会降低下来一段时间,但过不了多久 就又会增长上去 高度怀疑出现了内存溢出的情况,由 ...

GuZhenYin 发布于 2025-05-16 12:00 评论(7) 阅读(1588)
6

.NET 8 开发的跨平台多商户第三方支付SDK

前言 快速发展的互联网应用开发中,支付功能已成为各类平台不可或缺的一环。为了帮助大家更高效地接入主流支付渠道,推荐一套基于 .NET 开发的第三方支付 SDK。该 SDK 支持跨平台运行,适用于多种操作系统和设备,并提供对支付宝和微信支付的全面支持。 项目介绍 本SDK 以简化接入流程、提升开发效率 ...

小码编匠 发布于 2025-05-16 09:20 评论(1) 阅读(629)
0

一次Async/await 原理探索

一次Async/await 原理探索 前言 本文记录一次对 C# 中 async/await 异步编程机制的原理探索过程。异步编程的实现机制较为复杂,本文旨在通过实际代码及反编译分析,对其运行逻辑进行初步梳理和理解,供参考和学习使用。 一、前置示例 首先,通过一个简单的控制台应用演示 async/a ...

寻仙不辞远 发布于 2025-05-15 23:19 评论(0) 阅读(101)
0

使用Roslyn运行C#脚本时如何引用程序集

使用Roslyn的CSharpScript类运行C#脚本时,会默认包含一部分程序集,默认包含的程序集引用可以直接使用,而其他程序集则需要额外提供引用。本文简单描述了使用Roslyn的CSharpScript类实运行C#脚本时,如何引用程序集。 情景再现 首先创建一个C#类库,代码很简单,提供一个静态 ...

昏睡红猹 发布于 2025-05-15 17:45 评论(0) 阅读(36)
1

变量和常量

变量的基本概念 变量本身被用来存储特定类型的数据,可以根据需要随时改变变量中所存储的数据值 变量具有名称、类型和值 变量名是变量在程序源代码中的标识 变量类型确定它所代表的内存的大小和类型 变量值是指它所代表的内存块中的数据 在程序执行过程中,变量的值可以发生变化 变量使用之前需要先声明变量,即指定 ...

EricsT 发布于 2025-05-14 19:15 评论(0) 阅读(43)
9

.NET程序启动就报错,如何截获初期化时的问题json

一:背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候,程序一跑就报错,截图如下: 从给出的错误信息看大概是因为json格式无效导致的,在早期的训练营里曾经也有一例这样的报错,最后定位下来是公司的电脑安全软件导致的,一旦有非托管调试器,安全软件就会加密 runtimeconfig.json ...

一线码农 发布于 2025-05-14 13:54 评论(0) 阅读(1641)
0

条件量练习

/********************************************************************************* * * 设计程序,创建三个线程,任务1条件满足时解除任务二的挂起状态,任务3用于控制x的值 * author:jindouliu202 ...

LRadian 发布于 2025-05-12 10:48 评论(0) 阅读(38)
0

线程相关函数-条件量

使用条件量可以让不满足条件的线程处于挂起状态,等待条件满足时由别的线程进行唤醒 pthread_cond_init函数 此函数可以对条件量进行初始化 pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_init(pthre ...

LRadian 发布于 2025-05-12 10:02 评论(0) 阅读(38)