Song的学习笔记

首页 新随笔 联系 管理

2026年1月29日 #

摘要: EF Core 无主键表操作指南 重要结论:EF Core 必须有主键 使用 EF Core 的前提是实体必须有主键,这是 EF Core 核心机制决定的,不是可选项。 为什么必须有主键? EF Core 功能 主键的作用 删除 (Delete) 用主键唯一标识要删除的记录 更新 (Update) 阅读全文
posted @ 2026-01-29 08:00 Song的学习笔记 阅读(4) 评论(0) 推荐(0)

2026年1月26日 #

摘要: CodingTookit CodingTookit\src\Md2code\Program.cs using System.Collections.Concurrent; using System.Text; using System.Text.RegularExpressions; using S 阅读全文
posted @ 2026-01-26 15:17 Song的学习笔记 阅读(4) 评论(0) 推荐(0)

2026年1月24日 #

摘要: EF Core ChangeTracker 机制详解 概述 EF Core 的 变更跟踪器(ChangeTracker) 是一个核心组件,负责追踪实体的增删改查状态,并在 SaveChanges() 时自动生成对应的 SQL 语句。 核心原理 当对 DbContext 执行操作时,EF Core 会 阅读全文
posted @ 2026-01-24 08:00 Song的学习笔记 阅读(4) 评论(0) 推荐(0)

2026年1月13日 #

摘要: CodingTookit CodingTookit\publish.bat dotnet publish .\src\Code2md\Code2md.csproj -c Release -r win-x64 --self-contained true /p:PublishSingleFile=tru 阅读全文
posted @ 2026-01-13 08:00 Song的学习笔记 阅读(6) 评论(0) 推荐(0)

2026年1月7日 #

摘要: claude code 使用minimax linux 1. 创建一个脚本claude-minimax.sh #!/usr/bin/env bash CLAUDE_BIN="/root/.nvm/versions/node/v20.13.1/bin/claude" export ANTHROPIC_ 阅读全文
posted @ 2026-01-07 08:00 Song的学习笔记 阅读(116) 评论(0) 推荐(0)

2025年12月30日 #

摘要: VersionManager VersionManager\MainWindow.xaml.cs using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; us 阅读全文
posted @ 2025-12-30 08:00 Song的学习笔记 阅读(15) 评论(0) 推荐(0)

2025年12月28日 #

摘要: Code2Md Code2Md\Code2md\Program.cs if (args.Length == 0) { Console.WriteLine("请传入文件夹路径"); return; } if (!Directory.Exists(args[0])) { Console.WriteLin 阅读全文
posted @ 2025-12-28 08:00 Song的学习笔记 阅读(10) 评论(0) 推荐(0)

2025年12月26日 #

摘要: windows linux 子系统 开启显示 GUI输出转发 GUI 转发 wails程序 背景 不知道为什么在windows系统上运行golang程序,lsp语法解析器特别的卡慢,但是放到linux子系统上面,觉得还好, 于是就在linux子系统上面运行golang程序,但是我的这个程序是个桌面端 阅读全文
posted @ 2025-12-26 08:00 Song的学习笔记 阅读(36) 评论(0) 推荐(0)

2025年12月23日 #

摘要: 一、核心信息总结 这是C# Dev Kit和C#扩展的官方弃用公告,核心要点可归纳为: 弃用时间:2026年1月发布的C# Dev Kit和C#扩展版本,将不再支持使用.NET 6和.NET 7 SDK进行开发。 背景原因:.NET 6(2024年5月)和.NET 7(2024年11月)已分别结束官 阅读全文
posted @ 2025-12-23 08:00 Song的学习笔记 阅读(108) 评论(0) 推荐(0)

2025年12月5日 #

摘要: @echo off powershell -Command "$env:HTTP_PROXY='http://127.0.0.1:7890'; $env:GOOGLE_API_KEY='xxxxxxxxx'; gemini %*" 阅读全文
posted @ 2025-12-05 08:00 Song的学习笔记 阅读(8) 评论(0) 推荐(0)

2025年11月18日 #

摘要: claude cli claude-kimi.bat simple version @echo off powershell -Command "$env:ANTHROPIC_BASE_URL='https://api.kimi.com/coding/'; $env:ANTHROPIC_AUTH_T 阅读全文
posted @ 2025-11-18 08:00 Song的学习笔记 阅读(22) 评论(0) 推荐(0)

2025年10月27日 #

摘要: .NET 宿主与后台服务:深入理解 BackgroundService 与生命周期令牌 在 .NET 生态中,构建长期运行的服务(如后台任务、定时任务、消息消费者等)时,IHost(宿主)和 BackgroundService 是两个核心组件。它们不仅能帮助我们管理服务的生命周期,还能通过 Canc 阅读全文
posted @ 2025-10-27 08:00 Song的学习笔记 阅读(69) 评论(0) 推荐(0)

摘要: RPC ServiceModel.Grpc C# 在 DogWatcher 和 HeartbeatService 中,CancellationToken 的核心作用是响应外部取消信号(如服务停止、客户端断开连接等),避免资源泄漏并确保程序优雅退出。以下是具体的使用分析和优化建议: 一、Cancell 阅读全文
posted @ 2025-10-27 08:00 Song的学习笔记 阅读(32) 评论(0) 推荐(0)

2025年10月16日 #

摘要: System.Data.OracleClient.dll .netframework中自带的dll, "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Data.OracleClient.dll" `` 阅读全文
posted @ 2025-10-16 08:00 Song的学习笔记 阅读(8) 评论(0) 推荐(0)

2025年9月4日 #

摘要: 要去看看有没有设置代理,以前设置的代理自己都忘了,然后死活请求都是不行。 File>Settings>Proxy 将use the system proxy 或者 Add a customr proxy configuration给勾掉 阅读全文
posted @ 2025-09-04 08:00 Song的学习笔记 阅读(43) 评论(0) 推荐(0)

2025年9月3日 #

摘要: dotnet cli,.net6,.net7.net8, xxx.csproj 外部 DLL 引用,目录文件拷贝,引用外部 dll .csproj 文件配置 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net6 阅读全文
posted @ 2025-09-03 08:00 Song的学习笔记 阅读(46) 评论(0) 推荐(0)

摘要: C# HTTP请求重试处理器:实现与使用指南 在网络请求场景中,临时网络波动、服务器短暂不可用等问题时常发生。为提高HTTP请求的稳定性,重试机制是一种常见且有效的解决方案。本文将详细解析一个C#编写的HttpRetryHandler类,包括其核心功能、代码注解及使用方法,方便开发者集成到项目中。 阅读全文
posted @ 2025-09-03 08:00 Song的学习笔记 阅读(152) 评论(0) 推荐(0)

2025年7月26日 #

摘要: using System.Collections.Concurrent; using System.Diagnostics; // 发布命令 (不包含调试信息) // dotnet publish .\CopyFile\CopyFile.csproj -c Release -r win-x64 -- 阅读全文
posted @ 2025-07-26 08:00 Song的学习笔记 阅读(9) 评论(0) 推荐(0)

2025年7月14日 #

摘要: ConcurrentQueue和BlockingCollection的区别 区别 1. 阻塞行为(最核心区别) ConcurrentQueue<T>:无阻塞机制 它仅保证线程安全的队列操作,但不提供“阻塞”功能。 当队列为空时,调用Dequeue()会直接抛出InvalidOperationExce 阅读全文
posted @ 2025-07-14 08:00 Song的学习笔记 阅读(84) 评论(0) 推荐(0)

摘要: code2md final using System.Collections.Concurrent; using System.Diagnostics; using System.Text.RegularExpressions; // 发布命令 (不包含调试信息) // dotnet publish 阅读全文
posted @ 2025-07-14 08:00 Song的学习笔记 阅读(9) 评论(0) 推荐(0)

2025年7月13日 #

摘要: code back 边生成,边消费 using System.Collections.Concurrent; using System.Diagnostics; using System.Text.RegularExpressions; // 发布命令 (不包含调试信息) // dotnet pub 阅读全文
posted @ 2025-07-13 08:00 Song的学习笔记 阅读(12) 评论(0) 推荐(0)

2025年7月12日 #

摘要: code back up 多线程 并行 using System.Collections.Concurrent; using System.Diagnostics; using System.Text.RegularExpressions; class Program { private stati 阅读全文
posted @ 2025-07-12 08:00 Song的学习笔记 阅读(13) 评论(0) 推荐(0)

2025年7月10日 #

摘要: new code2md Code2md\Code2md.csproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0</TargetFrame 阅读全文
posted @ 2025-07-10 08:00 Song的学习笔记 阅读(10) 评论(0) 推荐(0)

摘要: 多线程,Task,线程安全队列,ConcurrentQueue,ManualResetEventSlim,文件移动 Longforce.FileMove\FileMoveApp\FileMoveApp.csproj <Project Sdk="Microsoft.NET.Sdk"> <Propert 阅读全文
posted @ 2025-07-10 08:00 Song的学习笔记 阅读(23) 评论(0) 推荐(0)

2025年7月9日 #

摘要: wpf mvvm List WPFListView\ListApp\App.xaml <Application x:Class="ListApp.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: 阅读全文
posted @ 2025-07-09 08:00 Song的学习笔记 阅读(10) 评论(0) 推荐(0)

摘要: 依赖注入, 参数配置, 默认参数,动态灵活的参数配置 通过委托配置实现灵活的服务参数管理 Action<SecsGemOption> configure = null var option = new SecsGemOption(); configure?.Invoke(option); using 阅读全文
posted @ 2025-07-09 08:00 Song的学习笔记 阅读(15) 评论(0) 推荐(0)

2025年7月5日 #

摘要: appsettings.json,配置变更,自动感知,Configure<T>(...) + IOptions<T>/IOptionsSnapshot<T>/IOptionsMonitor<T> Configure<T>(...) + IOptions<T>/IOptionsSnapshot<T>/ 阅读全文
posted @ 2025-07-05 08:00 Song的学习笔记 阅读(25) 评论(0) 推荐(0)

摘要: 配置注入的两种方法, Settings, appsettings.json,依赖注入 1. AddSingleton(configurationRoot.GetSection(FTPSettings.Key).Get<FTPSettings>()) 作用:直接将 FTPSettings 的实例注册为 阅读全文
posted @ 2025-07-05 08:00 Song的学习笔记 阅读(25) 评论(0) 推荐(0)

2025年7月4日 #

摘要: 动态创建对象,Activator.CreateInstance(),抽象类抽象方法,多态 DynamicCreateInstance\Program.cs // 静态创建 BaseHandler handler = new HelloHandler(); handler.Execute(); // 阅读全文
posted @ 2025-07-04 08:00 Song的学习笔记 阅读(24) 评论(0) 推荐(0)

2025年7月3日 #

摘要: 异步互斥锁 MutexLock 用锁和不用锁的对比 MutextLock\Program.cs using System; using System.Threading.Tasks; class Program { static AsyncExecutionLock _lock = new(); s 阅读全文
posted @ 2025-07-03 08:00 Song的学习笔记 阅读(26) 评论(0) 推荐(0)

摘要: C# 消息分发器模式,开闭原则,类型注解,反射注册,解耦,通信管理 基于消息分发器模式和反射注册,这种设计适合需要灵活扩展消息类型的场景(如通信协议、命令处理系统)。 1. 类关系图(核心设计) 使用类图展示各组件的继承、依赖和关联关系: classDiagram direction LR clas 阅读全文
posted @ 2025-07-03 08:00 Song的学习笔记 阅读(64) 评论(0) 推荐(0)

摘要: ASP.NET NLog ASP.NET.Core8\Program.cs using System.Text.Json.Serialization; using NLog.Web; var builder = WebApplication.CreateSlimBuilder(args); // � 阅读全文
posted @ 2025-07-03 08:00 Song的学习笔记 阅读(29) 评论(0) 推荐(0)

2025年7月2日 #

摘要: C# winform WPF 防止应用重复打开 using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.InteropServi 阅读全文
posted @ 2025-07-02 08:00 Song的学习笔记 阅读(67) 评论(0) 推荐(0)

2025年6月21日 #

摘要: dotnet cli publish 发布命令 1. 框架依赖型发布(Framework-Dependent Deployment) dotnet publish .\DemoProject.AutomationEdge\DemoProject.AutomationEdge.csproj -c Re 阅读全文
posted @ 2025-06-21 08:00 Song的学习笔记 阅读(390) 评论(0) 推荐(0)

2025年6月19日 #

摘要: PathHelper,获取当前执行程序的叔叔文件夹 System.Console.WriteLine(PathHelper.GetExeCurDir()); System.Console.WriteLine(PathHelper.GetExeGrandFatherDir()); System.Con 阅读全文
posted @ 2025-06-19 08:00 Song的学习笔记 阅读(17) 评论(0) 推荐(0)

2025年6月18日 #

摘要: SECS/GEM协议,U1到U8的数据类型,C# 在C#中,SECS/GEM协议里从U1到U8的数据类型对应关系如下: 数据类型映射表 SECS-II 类型 C# 类型 .NET 框架类型 位数 范围 U1 byte System.Byte 8位 0 到 255 U2 ushort System.U 阅读全文
posted @ 2025-06-18 08:00 Song的学习笔记 阅读(166) 评论(0) 推荐(0)

2025年6月15日 #

摘要: 消息服务器,生产者和消费者,消息队列 ChatServer\ChatConnection.cs using System.Runtime.CompilerServices; using System.Threading.Channels; public class ChatConnection : 阅读全文
posted @ 2025-06-15 08:00 Song的学习笔记 阅读(34) 评论(0) 推荐(0)

摘要: 消息队列,Channel,无界队列,有界队列 因为队列的最大长度是 3,所以从 B 到 E 的消息被掉丢 A 为什么没有丢掉,是因为刚写入的 A 消息被队列接收了,然后又写入了 B,C,D,E,F,G,H,然后 B 到 E 的消息被丢掉 D:\Code\ServiceModel.Grpc-maste 阅读全文
posted @ 2025-06-15 08:00 Song的学习笔记 阅读(30) 评论(0) 推荐(0)

摘要: CancellationTokenSource cts.Token的两个属性 1. CanBeCanceled 含义:表示该 CancellationToken 是否可以被取消。 初始状态:如果 CancellationToken 是由 CancellationTokenSource 创建的,则为 阅读全文
posted @ 2025-06-15 08:00 Song的学习笔记 阅读(89) 评论(0) 推荐(0)

摘要: 异步枚举,异步枚举接口,IAsyncEnumerable<T> IAsyncEnumerable<T> IAsyncEnumerable<T> 是.NET 中用于异步枚举的接口,允许你在异步操作中逐个处理元素,而不是一次性获取所有元素。 这种方式在处理大量数据或者需要长时间获取数据的场景中非常有用, 阅读全文
posted @ 2025-06-15 08:00 Song的学习笔记 阅读(33) 评论(0) 推荐(0)