[小菜一碟] 與團隊共享 ReSharper 的設定

ReSharper 這款由 JetBrains 打造的輔助開發神器,應該是無人不知無人曉了,基本款一年的費用才三四千塊非常值得投資,我們公司就為每位開發人員各買一套,而 ReSharper 當中可以調整項目非常細,用久了就會發現每個人調校出來的 ReSharper 風格都不太一樣,這時候就可以大家來討論出一個公版 Share 出來。

...繼續閱讀 »

[食譜好菜] Json.NET 處理多型的反序列化

多型在像是 C#、爪哇(用中文應該就不會被告了)這種強型別的物件導向程式語言,要將一個抽象類別的實例存到關聯式資料庫或是做序列化/反序列化,都需要另外處理,關於多型跟關聯式資料庫的對應方法我已經寫在這篇文章裡面,這篇要來寫寫多型如何做 JSON 的序列化/反序列化。

...繼續閱讀 »

[料理佳餚] 用 ValueTuple 解放雞肋類別

我們呼叫一個函式原則上以回傳一個結果為優,偶爾像 int.TryParse 使用 out 修飾詞,或是使用 Tuple 類別 來多吐一些結果,不過這些都不如將多個結果封裝成一個類別還來的合適,但是如果私有函式有回傳多個結果的需求,為此定義一個類別就顯得有些雞肋,除了要取一個適當的名字之外,還要定義它的存取限制,把它弄成 public 也不是,弄成 private 放在當前類別裡面又覺得「嘖...」。

...繼續閱讀 »

[料理佳餚] Azure App Service 及 SQL Database 預設時區的問題

如果是自架 IIS、SQL Server 伺服器,取得當前時間是看伺服器設定的時區在哪裡,就會拿到當地時區的當前時間,但是我們使用 Azure 提供的 PaaS 服務,只管用不必管伺服器,首要注意的是取得當下時間的 API 預設時區 UTC 的問題,務必在上雲之前針對自己的程式調整一番。

...繼續閱讀 »

[食譜好菜] 檔案及資料夾的路徑不用自己兜,讓 System.IO.Path 靜態類別來做會方便許多。

  • 449
  • 0
  • C#
  • 2018-09-10

前幾天處理了一個檔案沒更新的問題,請看下圖:

這是一個 UNC 路徑,可以看到它路徑中間有兩個 \,然後它就爆了。

會造成這樣的原因是因為在原始程式碼中,在兜路徑的時候沒有處理尾綴的 \ 的數量,而使得尾綴的 \ 多了或少了,路徑就失效了。

...繼續閱讀 »

[廚餘回收] Windows 工作排程器(Task Scheduler)啟動程式取得與執行檔所在相同目錄

  • 208
  • 0
  • C#
  • 2018-07-31

這個雷我踩了不下三次,寫下來記錄一下,C# 程式要取得當前目錄的方法我們下關鍵字搜尋可以搜出一堆解決方案,沒意外的話第一個搜尋結果通常是 Directory.GetCurrentDirectory 方法(System.IO) - MSDN - Microsoft,但是這個方法在程式是由 Windows 工作排程器(Task Scheduler)啟動的狀況下就不 Work 了。

...繼續閱讀 »

[創意料理] 個人常用的 ASP.NET MVC 自訂 HTTP 回應碼畫面的套路

如果我們認真要用 ASP.NET MVC 做一個對外服務的網站,直接赤裸裸地爆黃白畫面在使用者面前,實在不是那麼優雅,如果從 Web.config 著手要自訂錯誤畫面的話,那麼 Google 到的答案大致就兩個方向:<system.web>/<customErrors><system.webServer>/<httpErrors>

...繼續閱讀 »