[ASP.NET Core] 設置EfCore隔離等級,避免資料因為更新而lock造成排隊、Timeout的問題

在對資料庫查詢資料時,若資料正好被異動中,導致lock無法存取,往往都會導致許多的Query卡住無法消耗,使用端又會無限等待直到Timeout。
Goole了一陣子,大多數的做法都是添加 DbCommandInterceptor,攔截語法替換並加上 WITH(NOLICK),一旦遇上了較複雜的語法,替換完的查詢語法就會容易出現問題。

...繼續閱讀 »

[ASP.NET Core] 使用 NLog 紀錄 IP 及 TraceId,但值都是空的

啟動一個新專案時,都會翻翻找找之前的專案,把想要的設定拿(偷)過來用,而 NLog.config 裡面用到了兩個 Layout Renderers:

  1. aspnet-request-ip
  2. aspnet-TraceIdentifier

開發時看到Log的這兩個資訊都是空白的,想想本機跑的關係吧,就隨它去了,直到丟上Server看到Log怎麼還是空白的,驚覺不對勁趕緊來確認問題,記錄一下排查的過程。

...繼續閱讀 »