HttpClient 已經取代 WebClient 成為主流,而早期版本的(推出於 .NET 4.5) HttpClient 有一些問題,
各路人馬也陸續推出解方,微軟後續也推出了擴充套件來一併解決了相關問題,這邊記錄下...
HttpClient 已經取代 WebClient 成為主流,而早期版本的(推出於 .NET 4.5) HttpClient 有一些問題,
各路人馬也陸續推出解方,微軟後續也推出了擴充套件來一併解決了相關問題,這邊記錄下...
有些場合需要提供Lib 或元件的說明文件,雖然我覺得引用 Lib 並且同時有輸出的 .xml 檔,這樣在寫
程式的時候有相對應的輸入提示也就足夠了,畢竟隨著時光推移註解有時候還會失準(誤),依據情境
找了對應的套件,Sandcastle Help File Builder(SHFB),紀錄實際操作...
部分網站尚未支援 https 協定,但瀏覽器預設行為會自動導向 https 來瀏覽網頁;這點多少有點困擾,
故若能限制瀏覽器這行為,開發體驗上應該會舒服很多...
很不幸的有時候正式環境的諸多限制,不能請維運處理 migration 的指令,僅能提供 SQL Script 語法
,再請 DBA 協助執行更新的動作,此時若能快速產生異動的 SQL Script 那就太棒了...
一直有個情境,我可能需要做feature或是hotfix 項目,但有些地方可能需要參考某個分支的版本,
此時我就必須先暫存目前的進度,然後切換到參考的分支,將要參考的檔案內容想辦法記錄起來,
然後切回剛剛暫存的進度,繼續開發...;後來發現這個情境,應該可以借用 git worktree …
最近再看舊的專案,發現有個 ExpandoObject 物件,搭配 dynamic 定義使用挺特別的;雖然我很少
這樣使用,之後也不會這樣用但是知道一下即可...
ReSharper 是作用於 Visual Studio 的外掛,實際使用上有些項目會做調整,這邊紀錄一下,另外套了
ReSharper 後相關快捷鍵會由該套件主導,這邊列出需要,特別記憶的項目,未來有增加後續再補上
前回使用Autofac 套件,這回搭配 Microsoft.Extensions.Hosting 套件一起服用,透過Hosting 來掌控
應用程式相關生命週期及統一託管模型
之前有介紹使用內建DependencyInjection 的使用方式,這回嘗試使用 Autofac 套件達到DI的效果,
當然 Autofac 還有其他強大的功能,這邊先透過基本的注入觀察其生命週期
上回介紹了如何使用基本的依賴注入機制,若想要類似ASP.Net Core 那樣有個Hosting 來驅動,
以下測試適用 .NET Core 3.1 SDK 版本或以上
在 ASP.Net Core 專案很自然就使用依賴注入機制(DI),但若是其他應用程式例如 Console 專案,
又該如何使用依賴注入機制,這邊稍微紀錄一下
在EF Core 的 Model 設計中,還是有一點眉角,這邊也稍微紀錄幾個,增添幾分記憶留存,除了
Fluent API 支援多屬性組成複合 PK設定之外,再來就是如何設定欄位為 Guid或是索引
在EF Core 中,其中一環核心的設計應該就是Model ,而 EF Core 提供了數種設定 Model 方式,
一種就是常見的 「Data Annotations」,用於屬性掛載特性(property add Attribute)型式,而另一種方式
就是 EF Core 提供的 「Fluent API」,相較於Data Annotations 的方式其支援程度更廣...
之前文章有討論到 EF Core DBFirst 如何使用,若未來資料表有相關異動,又該如何更新 Entities
與DbContext,以及能否做到指定的資料表更新即可
Entity Framework 的另一個起手式為 db first,相較於code first 能將既有的資料表快速產出對應的Models
雛形,若資料表有相關更新,也可以透過工具來更新Models
日常中有機會維護到 entity framework 的專案,也僅限於皮毛,而 ef core 也發展了一段時間,而對應的使用
情境似乎也越來越完善,分幾個項目稍微了解一下
上回 有提到使用 「世界協調時間(UTC)」作為時間戳記,這樣除了還原當地時間變得很方便,若要比對該時間
戳記是還在有效期限內,也是蠻方便的,這邊就稍微紀錄一下' ~
有時候一些情境上會需要夾帶時間戳,用來判斷是否在有效的時間區間,應用情境較為常見的
有 token 的有效期限;而時間戳的選擇當屬「世界協調時間(UTC)」 最為準確,放諸四海皆準
這篇很明顯是個提醒文,提醒自己不要慌 ~
之前有寫一篇 UrlEncode() 特殊字元注意事項 文章,提到 .NET 中若需要網址編碼或解碼的情境,
請使用 Uri.EscapeDataString()、Uri.UnescapeDataString() 方法,這會讓特殊字元的編碼與解碼
都會跟上業界標準...
之前玩 LINE Bot 有用 ngrok ,那時就覺得這玩意真是厲害方便,讓開發 web hook 很舒服,
這次接第三方 API,想說ngrok 一陣子沒玩了,就來玩一下
今天安裝了 pnpm ,測試在 windows 環境及 cmder 皆能正常運作,但是來到 VSCode 環境的Terminal 下,
就會出錯,簡單紀錄一下解決過程
我們都知道在git 中若要將某些類型或相關目錄的下的檔案排除版控之外,可以透過 .gitignore 檔案
來設定相關資訊,但是就是會有例外,至於為何呢?無需太深入,動筆寫一寫
一些輕巧的驗證想法專案,有時候會使用 VSCode 來快速建立,但是若要能「偵錯」專案,就需要
一些設定,這時相關步驟就需要紀錄一下,雖然官網有提到但細節上可能沒有到位,故筆記一下
有時候開發時會需要弄個測試專案,但是又不想專案一大包,通常會使用 asp.net core empty 專案,
或是比較專業的說法是 minimal web api,除了輕巧快速之外,手感也不錯,這邊簡單紀錄一下
最近很多討論都移往 Discord 上,若人數眾多加上名稱搜尋有可能還是會重複,若能提供 ID,這樣更能識別
或是正確的被搜尋到,但是實際操作要找到 ID ,還真的有點繞,隨手筆記一下
由於使用 Cmder 的情境時常會需要開很多 tab,好處是tab 的建立與切換都有快捷鍵支援,唯有修改
tab name 既然沒有對應的快捷鍵,這邊就紀錄新增操作,並且列出相關常用快捷鍵
很多時候我們需要自訂JavaScript 方法,並且期望能夠支援非同步(async),以前各家瀏覽器支援度
不齊的情形下,可以借用 jQuery 來達到目的,現在已經不需要這麼麻煩了,直接使用原生的
瀏覽器的「切換」很常使用(『ctrl + tab』與『ctrl + shift + tab』),但是頁籤的移動其實也是有需求,
在這之前都是透過滑鼠操作,有點雞肋,抓滑鼠就是累,能透過鍵盤完成才是王道,以下就是各瀏覽
器安裝套件與設定的過程
最近更新 Rider 至 2023.2 的版本,突然發現原本設定的 live template 失效了,覺得怪,回頭使用
ReSharper 又正常呈現,覺得怪但一時間沒有去深究原因,就手動新增並紀錄一下
這篇算是一個備忘筆記,自己大部分習慣使用 Cmder 來處理指令的需求 ,但若是剛好在VSCode 下,
就會使用內建的 Terminal 快速處理,但當需要快速出或隱藏時會與Cmder 相衝突
最近撈取資料並且使用 DateTime 型別欄位排序,但發現怎麼沒有跟預期的有差,想說資料新增進去應該
會差個幾毫秒,應該排序不是這樣的結果,想了想後,發現又忘了一個細節
一些小型的瀏覽器擴充功能,不一定會出獨立的安裝套件,也許是一段腳本(JavaScript),此時就需要
透過 tampermonkey 這類的載體,方便我們加入相關腳本
有時測試資料在不同物件間的轉換時,都會先塞入一些臨時資料,然後再觀察其轉換的狀況,
重點其實是放在實際轉換的狀況,若前面的預先塞入資料能夠更方便那就太好了,無意間發現
了 Bogus 這個套件,測試了下挺不錯的...
之前都用 AutoMapper 套件當作兩個物件的資料轉換,但使用起來稍嫌麻煩,偶然發現Mapster 套件,
後續做了點實作,直覺使用上簡潔一些些,效能似乎也是不錯,筆記一下
有時會有個需求,是要將 A 資料表的內容倒入 B 資料表,或是某個資料來源結構跟B資料表類似,希望比對後新增或修改,常常我們會透過 IF EXIST() 方法來判斷,這次使用 MERGE 語法來試試
前些日子看了一下黑哥的文章:ASP.NET MVC 防止 AJAX POST CSRF 攻擊,好奇表單Form 要如何
傳送 Json 格式?不能全然相信這類設計
.NET Core 預設不支援 BIG5編碼,使用時需要特別撰寫註冊,這部分可能會在使用有需求是透過 Encoding 物件做相關操作時會遇到,今天的情形是,需要測試讀取某個網頁內容,也會有 BIG5 問題,隨手紀錄一下
C#9 開始支援 Top-level statements,VS建立專案時預設都會使用頂層語句,除非手動勾選取消,
,若使用了頂層語句,在程式進入點(Program.cs)都會少了 Main() 方法,一開始會稍稍不習慣,
稍微了解後也就還好...
今有個邏輯判斷,需要判斷物件是否為空 '{}',也許過程中會在該物件身上掛上屬性或方法,但在某些
情境下還是希望確認目前該物件的狀況是否為空,試了幾個方式,分享一下
上回介紹中已使用 FileZilla 架設 FTP Server ,並且透過 FileZilla Client 來測試連線,這回我們寫程式使用 FluentFTP 來協助我們完成連線...
ASP.NET Core 在引用Autofac 套件中,相較於 Core 3.1 的版本而在 7.0 的版本中設定稍微簡潔一點
(但就真的只有一點點...),隨手紀錄一下
LINQ 的Join() 方法其效果等同於 SQL 的 INNER JOIN ,若有類似 Left Join 或Right Join 的效果話,
那使用 GroupJoin 會是一個解法,
使用 LINQ 有時會需要比對相關集合,若集合內比對的元素為「字串」或是「數值」那就單純許多,但
若是欲比對的元素為自訂型別(Class),那就需要注意了;這邊稍微紀錄一下若自訂型別屬性不多時,可
使用較為簡潔的比對方式...