原為鏈接 http://www.rzrgm.cn/ysmc/p/18794061 在上一個文章中,我們講過 鍵控服務 服務,可惜的是這個需要 .NET 8 才能使用,那我們在 .NET 8 之前應該怎么找到我們需要的服務呢,本文給大家講講使用特性的方式 本人依舊秉承著短小精悍,廢話不多,直接 ...
Trae + claude3.7 事情的經過是這樣的: 我有個方法代碼如下: /// <summary> /// 獲取客戶端列表 /// </summary> /// <param name="input">查詢條件參數,包含搜索、排序和分頁信息</param> /// <param name="c ...
軟件開發有點類似于藝術品的雕刻,需要不斷的打磨。在我們基于一套成熟的架構開發一套軟件后,往往都還是需要反復的推敲,進行不斷的重構優化,使得重復的代碼、硬編碼等地方越來越少,也使得某些邏輯越來越有彈性化。軟件開發和藝術品又有所不同,藝術品可能很容易完工并封刀,而軟件開發卻是持續的改進,軟件最終的持續改... ...
原文地址:http://www.rzrgm.cn/ysmc/p/18780674 近年AI風靡全球,我們日常見到的最多的就是跟AI聊天,極大減少了我們的搜索時間,不過大家也要注意甄別AI回答的正確性,身體不舒服還是老老實實看醫生。 AI聊天的輸出是逐字輸出的,有些小伙伴就很好奇這個是怎么實現 ...
鍵控服務是指使用密鑰注冊和檢索依賴項注入 (DI) 服務的機制。 通過調用 AddKeyedSingleton (或 AddKeyedScoped 或 AddKeyedTransient)來注冊服務,與密鑰相關聯。 使用 [FromKeyedServices] 屬性指定密鑰來訪問已注冊的服務。 以往 ...
在前段時間,有粉絲反饋能否寫一篇基于ASP.NET Core Web Api+React UI進行Web開發的文章,經過查閱相關資料,發現Visual Studio 2022已經集成相關模板,可以在Visual Studio中直接創建項目項目,今天以一個小例子,簡述ASP.NET Core Web ... ...
前言 C# 獲取枚舉描述的方法有很多, 常用的有通過 DescriptionAttribute 反射獲取, 進階的可以加上緩存機制, 減少反射的開銷。今天我們還提供一種更加高效的方法,通過增量源生成器生成獲取枚舉描述的代碼。這是在編譯層面實現的, 無需反射, 性能更高。 本文的演示代碼基于 VS20 ...
WinForm 使用 Win32 API 實現的無邊框窗口 前言 時光荏苒,轉眼已近是2025年了。不知不覺兩年多沒有研究代碼了,在這期間 .NET 10 都快 RC 了,前幾天刷手機看到張隊公眾號里有關于 .NET 9.0 AOT 發布的內容,所以寫了這些代碼來測試一下 AOT 編譯的效果,并評估 ...
本文將帶領大家入門 dotnet 的 SourceGenerator 源代碼生成器技術,期待大家閱讀完本文能夠看懂理解和編寫源代碼生成器和分析器 ...
背景 微軟的日志庫一般是輸出到控制臺的,但是在WPF中并不能直接使用控制臺,需要AllocConsole。 但是這種做法個人覺得不太安全(一關閉控制臺整個程序就退出了?)。這時候就需要一個更加友好的方式輸出日志。 問題 那如何將日志的內容顯示到RichTextBox中? 實現LoggerProces ...
一、概述 前段時間客戶碰到基于surging內存泄漏問題,邀請我來現場幫忙解決,對于dotnetty 我一直又愛又恨,因堆外內存DirectByteBufferChunk 中PoolChunk映射分配的16mb始終無法銷毀,后面設置優化了dotnetty 環境變量參數,未在同一線程下導致引用計數出現 ...
最近在研究系統本地化的問題,不可避免要實現模型類的驗證消息本地化。畢竟這些錯誤消息是要返回給用戶的。 疑問產生 在MVC模型下,我們會使用模型類對請求參數進行綁定和驗證。舉個例子: public class UserDto { [Required(ErrorMessage = "姓名不能為空")] ...
WPF 你真的會寫 XAML 嗎?淺談 ControlTemplate 、DataTemplate 和其它 Template 本文希望從寫死的代碼慢慢引入 WPF 的一些機制。 一、Button 難題 我們想要修改 Button 的背景色但是效果非常不理想,默認的 Button 樣式是完全無法給大家 ...
報表工具的核心是父子格擴展模型,通過父子格擴展模型實現各種類型報表,例如網格式報表、行式報表、主子報表、分組報表、交叉報表等。報表有三種擴展模型父子格擴展模型雙父格擴展模型兄弟格擴展模型父子格擴展模型B7單元格是第7行所有其它單元格的父格,其它單元格隨父格擴展,生成明顯列表。雙父格擴展模型B2單元格 ...
C#9.0是2020年發布的,record特性還沒用上的可以看過來,一起討論下。 下面通過一個簡單的示例演示record帶來的好處。 1. 通過一個示例引出問題 public class Person { public string Name { get; set } ... } public cl ...
SqlServer 中行轉列PIVOT函數用法 前言 最近在面試的時候,碰到了手寫sql的題目,這讓我這個面向AI的程序員著實難看。只見我面露難色,絞盡腦汁的情況下,終于還是放棄了。 這道題目不難,但是由于平時幾乎沒有遇到行轉列的情況,導致在手寫時忘記了PIVOT函數怎么使用。 面試準備不充分給 ...
在現代分布式系統中,服務之間的通信是一個非常重要的環節。隨著微服務架構的流行,服務之間的通信方式也在不斷演進。gRPC作為一種高性能、跨語言的RPC框架,逐漸成為了我們的首選。 一、簡介 gRPC 是一種高性能、開源的遠程過程調用(RPC)框架,基于 HTTP/2 協議,支持雙向流、頭部壓縮等特性。 ...
將圖片(JPG、PNG)轉換為PDF文件可以幫助我們更好地保存和分享圖片。此外,PDF文件還具有強大的安全特性,將圖片轉換為PDF后,我們可以通過設置密碼來文件內容不被泄露。本文將介紹如何將JPG/PNG圖片轉換為PDF文檔。 C# 將單張圖片轉換為PDF文檔 C# 將多張圖片轉換到一個PDF文檔 ...
前言 進程與操作系統的關系 進程初識 前言 這是一篇我在學習OSTEP這本書的筆記與總結,這篇筆記的正文部分圍繞進程贊開,主要討論“是什么”與“為什么”兩個問題,筆記如有錯漏,望不吝糾正。 進程與操作系統的關系 進程是操作系統里的核心之一,在OSTEP中對進程在操作系統中扮演的角色給出了以下解釋: ...
前言 前兩篇介紹了進程與上下文,而這篇介紹的對象是調度器,因為我也不懂調度器的原因,所以,這篇筆記只談調度器的工作過程,不涉及調度器的具體實現。筆記中若有錯漏,望不吝指正。 調度器的一天 在一個清涼的午后,job飯館(CPU)來了一群氣勢洶洶的餓漢(進程),店小二(調度器)立馬為這些不速之客安排飯桌 ...