一:背景 1. 講故事 為什么要開這么一個系列,是因為他可以對 .NET SDK 中的方法進行外掛,這種技術(shù)對解決程序的一些疑難雜癥特別有用,在.NET高級調(diào)試 領(lǐng)域下大顯神威,在我的訓(xùn)練營里也是花了一些篇幅來說這個,今天我準(zhǔn)備用10篇左右來詳細聊一聊,供學(xué)員和同行們欣賞,詳細的文檔參考:https ...
本文將深入探討 ASP.NET Core 中 EFCore 的實體屬性配置方法及 DbContext 的核心用法,幫助開發(fā)者高效管理數(shù)據(jù)模型與數(shù)據(jù)庫交互。 一、屬性配置 實體屬性配置是定義模型與數(shù)據(jù)庫映射的核心,EFCore 提供兩種方式:數(shù)據(jù)注解和 Fluent API。 1. 數(shù)據(jù)注解(Data ...
前言 這周系統(tǒng)更新了一個版本,部署到線上. 客戶反饋整個系統(tǒng)全部都卡頓,隨即我們上服務(wù)器檢查 發(fā)現(xiàn)整個服務(wù)器內(nèi)存竟然達到了20-30G的占用..如圖: 其中有一個訂單服務(wù),獨自占用13-18G內(nèi)存, 當(dāng)它重啟以后,內(nèi)存會降低下來一段時間,但過不了多久 就又會增長上去 高度懷疑出現(xiàn)了內(nèi)存溢出的情況,由 ...
前言 快速發(fā)展的互聯(lián)網(wǎng)應(yīng)用開發(fā)中,支付功能已成為各類平臺不可或缺的一環(huán)。為了幫助大家更高效地接入主流支付渠道,推薦一套基于 .NET 開發(fā)的第三方支付 SDK。該 SDK 支持跨平臺運行,適用于多種操作系統(tǒng)和設(shè)備,并提供對支付寶和微信支付的全面支持。 項目介紹 本SDK 以簡化接入流程、提升開發(fā)效率 ...
一次Async/await 原理探索 前言 本文記錄一次對 C# 中 async/await 異步編程機制的原理探索過程。異步編程的實現(xiàn)機制較為復(fù)雜,本文旨在通過實際代碼及反編譯分析,對其運行邏輯進行初步梳理和理解,供參考和學(xué)習(xí)使用。 一、前置示例 首先,通過一個簡單的控制臺應(yīng)用演示 async/a ...
使用Roslyn的CSharpScript類運行C#腳本時,會默認包含一部分程序集,默認包含的程序集引用可以直接使用,而其他程序集則需要額外提供引用。本文簡單描述了使用Roslyn的CSharpScript類實運行C#腳本時,如何引用程序集。 情景再現(xiàn) 首先創(chuàng)建一個C#類庫,代碼很簡單,提供一個靜態(tài) ...
變量的基本概念 變量本身被用來存儲特定類型的數(shù)據(jù),可以根據(jù)需要隨時改變變量中所存儲的數(shù)據(jù)值 變量具有名稱、類型和值 變量名是變量在程序源代碼中的標(biāo)識 變量類型確定它所代表的內(nèi)存的大小和類型 變量值是指它所代表的內(nèi)存塊中的數(shù)據(jù) 在程序執(zhí)行過程中,變量的值可以發(fā)生變化 變量使用之前需要先聲明變量,即指定 ...
一:背景 1. 講故事 前幾天訓(xùn)練營里的一位朋友在復(fù)習(xí)課件的時候,程序一跑就報錯,截圖如下: 從給出的錯誤信息看大概是因為json格式無效導(dǎo)致的,在早期的訓(xùn)練營里曾經(jīng)也有一例這樣的報錯,最后定位下來是公司的電腦安全軟件導(dǎo)致的,一旦有非托管調(diào)試器,安全軟件就會加密 runtimeconfig.json ...
/********************************************************************************* * * 設(shè)計程序,創(chuàng)建三個線程,任務(wù)1條件滿足時解除任務(wù)二的掛起狀態(tài),任務(wù)3用于控制x的值 * author:jindouliu202 ...
使用條件量可以讓不滿足條件的線程處于掛起狀態(tài),等待條件滿足時由別的線程進行喚醒 pthread_cond_init函數(shù) 此函數(shù)可以對條件量進行初始化 pthread_cond_t cond = PTHREAD_COND_INITIALIZER; int pthread_cond_init(pthre ...
ShadowSql集本人以前為公司內(nèi)部開發(fā)的ORM之眾長 再次進化而來,性能更好、更通用 其一、歷時3個多月,已經(jīng)發(fā)布了5個大版本9個小版本 在此期間深感做開源項目非常的不易 好在現(xiàn)在本人想要的功能基本都已經(jīng)開發(fā)完成 其二、開源項目功能需要更完整 公司內(nèi)部項目只要能用就行 其三、開源項目文檔要更完善 ...
一:背景 1. 講故事 這個問題源于給訓(xùn)練營里的一位朋友分析的卡死dump,在分析期間我需要知道某一個異步方法的調(diào)用棧,但程序是 .framework 4.8 ,沒有sos后續(xù)版本獨有的 !dumpasync 命令,所以這就比較搞了,但轉(zhuǎn)念一想,既然 !dumpasync 能把調(diào)用棧搞出來,按理說我 ...
命名空間 C#程序是利用命名空間組織起來的 命名空間既用作程序的“內(nèi)部”組織系統(tǒng),也用作向“外部”公開的組織系統(tǒng)(即一種向其他程序公開自己擁有的程序元素的方法) 如果要調(diào)用某個命名空間中的類或者方法,需要首先使用using指令引入命名空間,using指令將命名空間名所標(biāo)識的命名空間內(nèi)的類型成員導(dǎo)入當(dāng) ...
1.簡述 并發(fā)通過管理多個任務(wù)的執(zhí)行順序,確保系統(tǒng)在高負載下仍能保持響應(yīng)性;并行則利用多處理器或多核心硬件,真正同時執(zhí)行任務(wù),以加速計算。這兩者在高性能計算、實時系統(tǒng)和用戶交互應(yīng)用中發(fā)揮著不可替代的作用。 在多核處理器時代,傳統(tǒng)串行編程已無法充分利用硬件潛力。并行計算通過將任務(wù)分解到多個核心執(zhí)行,顯 ...
.net core workflow流程定義 WikeFlow官網(wǎng):http://www.wikesoft.com WikeFlow學(xué)習(xí)版演示地址:http://workflow.wikesoft.com WikeFlow學(xué)習(xí)版源代碼下載:https://gitee.com/wikesoft/Wor ...
using Microsoft.Extensions.DependencyInjection; using System; using System.Linq; using System.Reflection; // 自定義屬性來標(biāo)記服務(wù)類型 [AttributeUsage(AttributeTar ...
在C#中調(diào)用C++動態(tài)庫導(dǎo)出的函數(shù)時,有時候需要封送一些復(fù)雜的數(shù)據(jù)結(jié)構(gòu),這時候不確定自己封送的數(shù)據(jù)的內(nèi)存布局對不對,就想要弄個簡單的C++項目模擬一下被調(diào)用的接口,檢查一下C#的數(shù)據(jù)封送是否正確。 因為對C++項目基本上沒任何了解,搗鼓了半天才搞定,所以這里簡單記錄一下過程,以加深記憶。 1. 首先 ...
項目背景: 我們系統(tǒng)涉及多個站點,最初文件寫入本地磁盤,后來使用文件服務(wù)器,但是有部分客戶認為smb的高位端口445 135-139開放 共享文件的方式不足夠安全。 由于文件寫入的入口較多,考慮使用文件同步工具進行兩臺機器進行文件同步比如(微力同步) 1、原始SMB 共享文件夾方式 因為使用的c# ...
設(shè)計三個程序,三個程序申請一塊共享內(nèi)存,并分別映射到各自進程的地址空間,進程A和進程B對共享內(nèi)存段中的數(shù)據(jù)進行修改,然后進程B不斷輸出共享內(nèi)存段中的數(shù)據(jù),實現(xiàn)進程間的互斥,避免競爭。 /********************************************************* ...
/******************************************************************************* * * 設(shè)計兩個程序,A執(zhí)行死循環(huán),B程序給發(fā)送一個結(jié)束信號給程序A,當(dāng)程序A接收到信號之后則執(zhí)行相應(yīng)的任務(wù)。 * author:jind ...