Rick Carter -
dotnet未捕獲異常導致系統崩潰問題
一般情況下我們業務代碼不需要自己捕獲異常,因為目前我們常用框架都會自行處理異常,但是有些情況下需要自己處理異常,否則未處理的異常拋出會導致程序崩潰退出。
1.全局異常捕獲
// 1. AppDomain 未處理異常
AppDomain.CurrentDomain.UnhandledException += (sender, e) =
{
var exception = e.Exceptio
.net
,
後端
Rick Carter -
dotnet-dump安裝、收集dump和崩潰自動收集dump
繼續寫點基礎的東西,因為基礎的東西能帶新手入門,入門後的事情其實是比較簡單的。
我們開發dotnet程序後運行時經常出問題,比如cpu高、內存高、崩潰等問題,分析的方法就是使用dotnet的那套分析工具,今天以dotnet-dump為例,簡單説下從安裝到收集的操作步驟。
1.安裝SDK
dotnet分析工具需要dotnet sdk環境,所以需要先安裝sdk,以docker下Debian系統為例。參
.net
,
後端
Rick Carter -
修復達夢EFCore驅動布爾類型兼容問題
dm庫相比其他庫本身缺少一些語法差異,也可以説是缺陷。
比如:
0和1無法直接在sql中當作真假值用,where 0這種寫法不支持,報錯:查詢使用值表達式作為過濾條件;
t.field is null 也無法直接作為select項;
不支持OUTER APPLY等SQL語法;
以及數據庫函數中的又只能用0和1作為布爾參數值。
但是dm.efcore生成的語句就是這樣的
.net
,
後端
Rick Carter -
dotnet使用redis時需要注意的問題
1.性能問題-批量多次讀寫、序列化和反序列化的場景
注意看到dotnet下的IDistributedCache接口內部方法聲明都是針對單個key的,當需要多次大量讀寫同一類型kv值時,存在多次連接redis的情況,導致性能特別慢。
在abp框架中AbpRedisCache有些SetMany和GetMany的方法,它可以很好的解決這個問題。
今天再分享一個Redis的批操作的寫法(db.
.net
,
後端