中間件引起的接口請求參數被攔截,導致參數一直是null,這問題困擾了我很久,值得記錄 1.場景 1.1 客戶端使用framework4.8做一個接口請求發送: public static class ApiHelper { private static string Internal_ApiUrl ...
前言 隨著工業4.0和智能制造的發展,工業視覺在質檢、定位、識別等場景中發揮著越來越重要的作用。然而,開發一個完整的工業視覺系統往往需要集成相機控制、圖像采集、圖像處理、AI推理、PLC通信等多個模塊,這對開發人員提出了較高的技術要求。 推薦一個基于 .NET 平臺的開源工業視覺軟件框架OpenIV ...
關于多線程本質的思考和使用技巧 前言 ? 近來,公司因為項目過多,人手不足,一直在進行面試。過程中同事總是問道:多線程是什么,談談你對多線程的理解?以我愚見,這并不是一個可以在面試中快速回答的問題,如果面試的時候向我提問,我覺得我無法有條理的回答這個問題。因此,以總結多線程開發為目標,我寫下這篇筆記 ...
一:背景 1. 講故事 當 .NET程序 在Linux上崩潰時,我們可以配置一些參考拿到對應程序的core文件,拿到core文件后用windbg打開,往往會看到這樣的一句信息 Signal SIGABRT code SI_USER (Sent by kill, sigsend, raise),參考如 ...
有小伙伴反饋,System.Text.Json使用的序列化問題,經了解是System.Text.Json不兼容System.Runtime.Serialization.DataMemenber屬性標記 來個demo, 1 var testMode = new TestMode(); 2 testMo ...
前置 已安裝node.js,可使用npm 僅適用于目前的4.x(我使用的是4.1)。 基于.net 10 preview-4 Blazor Server Webapp 默認模板,但是這個關系不大。 安裝 在根目錄安裝tailwindcss cli npm install tailwindcss @t ...
簡單說說C#中委托的使用-01 前言 距離上次更新文章,已經過去...月了。 沒更新文章的主要原因,主要是因為參加工作后,感覺思維沒有上學那會活躍,寫文章沒有思緒。再就是上班的時候把精力用光了,下班后只顧著打游戲,沒有恢復精力和學習。 在公司網上沖浪的時候,看到了一篇講解C#委托的文 ...
客戶反饋無法正常啟動軟件,提示異常: [WinError 14001] 應用程序無法啟動,因為應用程序的并行配置不正確。有關詳細信息,請參閱應用程序事件日志,或使用命令行 sxstrace.exe 工具。 遠程查看異常事件日志,發現是App.config配置文件損壞: 我們打開安裝目錄下這個配置文件 ...
這里只貼出支付的操作,如果 需要其它方法(退款、查詢 、關閉訂單等)可以發郵件9067874006@qq.com。 需要準備的參數 AppID(小程序ID):wx7405 9e7d B2B商戶號:17 637 沙箱AppKey:NYf9s TvgXGCVqf 或 現網AppKey:HcRiLtJa ...
在定位 .NET 應用程序中的高 CPU 占用問題時,WinDbg 是非常強大的工具之一,尤其配合 SOS 擴展使用可以快速鎖定“忙線程”或死鎖等問題。 本文將基于一次實際的分析流程,演示如何一步步定位由線程鎖引起的 CPU 高占用。 1. 加載 SOS 擴展(針對 .NET) 首先,我們需要加載 ...
一:背景 1. 講故事 本來想研究一下 IL編織和反向補丁的相關harmony知識,看了下其實這些東西對 .NET高級調試 沒什么幫助,所以本篇就來說一些比較實用的反射工具包吧。 二:反射工具包 1. AccessTools AccessTools這個工具包用來簡化反射操作,你如果看過 harmon ...
鎖是用來防止在多用戶或多線程環境中同時對同一數據進行修改,從而避免數據沖突和損壞。 更新鎖 用于避免死鎖的鎖類型,通常用于對行進行更新時。它防止其他事務對資源進行修改,但允許其他事務進行讀取。 示例:在更新某一行數據之前,SQL Server 會首先加上更新鎖。 使用 WITH (UPDLOCK) ...
本文將告訴大家如何在 WPF 里面,通過 GetRawPointerDeviceData 方法從 WM_POINTER 指針消息觸摸裸數據,以及解析數據信息獲取到更多觸摸框上報的信息 ...
一:背景 1. 講故事 開局一張表,故事全靠編,為了能夠承上啟下,先把參數列表放出來。 參數名 說明 __instance 訪問非靜態方法的實例(類似 this)。 __result 獲取/修改返回值,要想修改用 ref。 __resultRef 修改返回引用(方法返回是 ref 返回 )。 __s ...
一:背景 1. 講故事 前面幾篇我們說完了 harmony 的幾個注入點,這篇我們聚焦注入點可接收的幾類參數的解讀,非常有意思,在.NET高級調試 視角下也是非常重要的,到底是哪些參數,用一張表格整理如下: 參數名 說明 __instance 訪問非靜態方法的實例(類似 this)。 __resul ...
在微服務架構和云原生應用廣泛采用的今天,.NET Core 應用被越來越多地部署在 Kubernetes 集群中。然而,一旦這些應用出現性能瓶頸,僅靠傳統的日志和指標可能無法定位問題的根本原因。 從 .NET Core 3 開始,微軟推出了一系列跨平臺的運行時診斷工具,比如: dotnet-coun ...
一:背景 1. 講故事 上一篇我們講到了 注解特性,harmony 在內部提供了 20個 HarmonyPatch 重載方法盡可能的讓大家滿足業務開發,那時候我也說了,特性雖然簡單粗暴,但只能解決 95% 的問題,言外之意還有一些事情做不到,所以剩下的 5% 只能靠 完全手工 的方式了。 二:注解特 ...
表達式 表達式是由運算符和操作數組成的 運算符設置將對操作數進行什么樣的運算 操作數包括文本、常量、變量和表達式 在C#中,如果表達式最終的計算結果為所需的類型值,表達式就可以出現在需要值或對象的任意位置 運算符 運算符是一些特殊的符號,主要用于數學函數、一些類型的賦值語句和邏輯比較方面 C#中提供 ...
流程設計 WikeFlow官網:http://www.wikesoft.com WikeFlow學習版演示地址:http://workflow.wikesoft.com WikeFlow學習版源代碼下載:https://gitee.com/wikesoft/WorkFlow WikeFlow2.0演 ...
init關鍵字是C#9新增的語法,用于屬性或索引器中定義訪問器。使用init關鍵字定義的訪問器具有init-only的特性,即只能在對象構造期間對屬性或索引器元素進行賦值,對象構造完成后,不可以再修改屬性或索引器元素的值。 init關鍵字解決了什么問題 實際上,我個人認為init-only屬性和re ...