[ C# 開發隨筆 ] 如何取得當下的 Function Name 與 Class Name,紀錄 Exception Log 更簡便

如何取得當下 Function Name 與 Class Name、紀錄 Exception Log 更簡便? StackFrame 與 MethodBase 是你不可或缺的好幫手!

在開發程式時,有時候我們需要在發生 Exception 時紀錄 Log,以便日後 Debug。而在這個過程中,我們也會需要取得當下的 Function Name 與 Class Name,來方便我們對 Exception 的追蹤及分析。

那麼,如何輕鬆地取得這些資訊呢?在 C# 中,我們可以使用 StackFrame 與 MethodBase 兩個類別來實現這個功能。

 

...繼續閱讀 »

[ C# 開發隨筆 ] Gmail SMTP發信 ~無法採用低安全性登入後的修正~

最近 Google 在5/30 之後關閉了低安全性登入的應用程式存取,所以有些透過gmail 發信的服務可能會發生錯誤,我是跳出下列的錯誤[The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.0 Authentication Required.]這邊記錄一下解決方法。

...繼續閱讀 »

[ C# 開發隨筆 ] 在 Async/Await 情況使用 ReaderWriterLockSlim 出現無法解鎖的狀況

async/await 滿天飛的.net core or .net 6 的專案,前陣子有人問到一個問題,她在鎖定同一時間只能一個人上傳檔案的時候,ReaderWriterLockSlim 無法解鎖。

在解鎖的時候會跳錯出錯誤[The write lock is being released without being held.] 這是什麼原因呢?請讓我們繼續看下去...

...繼續閱讀 »

[ C# 開發隨筆 ] 取消 .Net Core 發佈自動產生的 WebConfig

在使用 .Net Core 3.1 開發 Web Application 時,每當 Deploy 之後都會多出一個 WebConfig 檔 。

這個 WebConfig 檔在每次發佈的時候都會蓋掉 IIS 上原有的 WebConfig ,這會發生一個問題就是 Dev Ops 在 IIS 上設定的 AppSetting 參數,

而IIS 的 AppSetting 是會寫在該網站的 WebConfig 上,發佈的時候就會被蓋掉啦~ (Dev Ops 崩潰 )

那要如何不產生這個 WebConfig 檔呢?

 

 

...繼續閱讀 »

[ C# 開發隨筆 ] ASP.NET Core 3.0 自學筆記第一張 Entity Framework Core ( DB First)

.Net Core 已經出到 3.1 了

目前為止有稍微碰過一些,但遇到 EF 的部分一直都沒有認真去研究,

在寫.Net Framework 的時候,EF 6.0 只要輕鬆的用滑鼠點一點,就可以把 EDMX 建起來。

什麼 Context 什麼 DbConnection 我才不管呢~ (被養壞了)

但在.Net Core 這方面就稍微微微的硬派了一點,要下指令呢。

...繼續閱讀 »

[ 91 課後心得 ] Clean Coder : DI 與 AOP 進階實戰課後心得

這又是一堂挑戰大腦極限的兩天精實課程(91的課程有哪堂不是呢?),必須承認過了下午三點左右,大腦就呈現過載的狀態。在這堂課程裡我學到了如何把鋼彈模型拆解成積木,再組成鋼彈。在這個過程中,都需要由單元測試來做你的保險,再沒有測試的情況下,做任何的重購與新需求都是相當危險的事,相信大家都體驗過。

在這建議想去上這堂的人,先去上 91 的單元測試 (標配) 與極速開發 (選配),你說為什麼要上極速開發?這樣才跟得上 91哥的開發速度阿!

...繼續閱讀 »

[ C# 開發隨筆 ] ASP.NET MVC 下拉選單預設值無法正常顯示問題排除

相信有些在寫 ASP.NET MVC 的時候,偶爾會遇到某一個欄位的下拉式選單無法正常帶出預設值,

以下為範例所使用下拉式選單的 Razor 語法 :

Html.DropDownListFor(model => model.Education, 
    (IEnumerable<SelectListItem>)ViewBag.EducationDDL, 
    new { @class = "form-control" })

此時當 model.Education 有值且符合 EducationDDL 內其中一個項目的 Value 時,此下拉選單應自動將該項目之 Selected 設為 True ,如以下範例:

...繼續閱讀 »