demoshop

demo, trying to be the best_

之前上過 Bill 的C#新語法大作戰就一直覺得可以用 Index 加上 Range 搞點事,最近剛好遇到要做字串遮罩的需求,就想來練練手,沒想到殺雞用了牛刀啊。

上一篇講了在.NET Core使用資料保護API的方式,這一篇就要來說點實務上會遇到的問題,因為是非對稱加密,所以需要有相同的公鑰和私鑰才能解密,但私鑰已經由API自行處理,開發人員甚至不用知道它的存在,可是這樣子在現在很基本的Web farm架構,或是單純的兩個自有服務交換資訊的情境下卻無法使用了,好在.NET Core已經很不一樣了,很多地方都留了設定讓開發人員可以調整

在 .NET Core後微軟為了讓開發人員更輕鬆簡單的使用資料保護API,並且作為ASP.NET 1.x - 4.x 中 <machineKey> 元素的長期替代品。 解決舊密碼編譯堆疊的許多缺點,同時為現代應用程式可能遇到的大部分使用案例提供現成的解決方案。

當您在自訂 TagHelper 並使用 GetChildContentAsync() 方法來讀取標籤內容時,這是一個常見的應用場景。然而,如果內容中包含特殊符號,可能會遇到問題。因為安全考量,GetChildContentAsync() 方法預設讀取的 HTML 內容是經過編碼的。我曾花費許多時間嘗試將編碼後的文字還原,但始終無法找到解決方法。最終,我意識到我一開始的方向就錯了,因此特別撰寫這篇文章來記錄這次的學習經歷。

不論是寫 MVC 或 Razor Pages 經常會使用 ViewModel 傳遞資料,享受 Model binding 的好處,但有很多的情境這建立好的 Class 只會用那麼一次,所以很多時候就會直接用參數來傳,現在可以使用 C#9 後新的 record 來簡單處理囉。

現在的開發人員要處理的事情非常的多,當使用了較陌生的語法或套件經常性的需要離開 Visual Studio 切換到瀏覽器查看文件、Stack Overflow 或套件官網,部落格文章來理解該語法怎麼用,視窗不停的切換是很麻煩的,好在 Visual Studio 2022 v17.6 新增了 GitHub Examples and Documentation 這功能可以讓你停留在 Visual Studio 內快速看到其他人怎麼使用這方法,只有純粹的程式碼片段,尤其對於一些你曾經用過但日子久了忘了該怎麼用的語法更是有強大的幫助。

Visual Studio 在這一版本中為頁籤新增了一些功能,雖然只是小改動,但對於方案中有很多專案,而且因框架命名習慣導致一堆前綴後綴的情況下,這功能還挺實用的。

這功能以前是某個付費套件才有的,現在 Visual Studio 內建了,雖然功能簡化了一些,但還是不錯的進步。

以前我們在開發 API 後,經常需要使用類似 Postman 的工具進行測試,或是利用 Swagger 供協同單位進行測試。不過,近期越來越多人喜歡使用 VSCode 中的 REST Client 這種工具,因為它可以輕鬆地測試 API 並查看 Server 回應。此外,它只是一個副檔名為http的文件,因此版本控制也變得非常容易。以前的版本需要額外下載套件才能在 Visual Studio 中支援,但現在已經內建了!

開發人員是否還記得以前需要將IIS Express修改成外部連接的方式呢?是否有些羨慕其他語言的開發人員可以輕鬆地使用工具如ngrok來建立連接埠轉發,使得業主可以連接到本機電腦,觀看正在開發中的網頁呢?在這個版本中,我們終於有了開發人員通道(Developer tunnel),只需要簡單地勾選一下,就可以立即實現夢寐以求的功能了。

搜尋應該也是日常開發常用的功能,現在的開發方式經常會有很多前綴、後綴命名方式搜尋起來是滿困難的,在這一版本中針對了搜尋做了全新的改變,不但區分為搜尋程式也有搜尋功能(這指的是Visual Studio  的功能)而且試用後的感覺比 ReSharper 的 Search everywhere 還好用。

終於等到 17.5 正式發行了,Quick Add Files  這功能在之前的版本中需要額外安裝附加元件才能使用,這次直接內建對於懶得碰滑鼠的開發者來說實在非常非常的方便,這篇文章就來快速介紹它的應用。