原创 一個容器,但是一整個k8s集羣

你可能需要一個快速啓動和銷燬的 k8s 集羣;你可能在資源受限的環境中運行 k8s 集羣;你可能是一個完全的初學者,覺得搭建完整的 k8s 套件太難。那麼這篇短文可能可以幫到你。 各種丐版 k8s 集羣 你可能見過各種丐版的 k8s 集羣部

原创 C# 如何部分加載“超大”解決方案中的部分項目

在有的特有的項目環境下,團隊會將所有的項目使用同一個解決方案進行管理。這種方式方面了管理,但是卻會導致解決方案變得非常龐大,導致加載時間過長。那麼,如何部分加載解決方案中的部分項目呢?就讓我們來借用微軟退出的 slngen 工具來體驗一下部

原创 ChatGPT集成之前,讓我們複習一下即將過時的知識

各大搜索引擎集成 ChatGPT 的步調已經在逐步加緊了。也許這將極大的改變搜索引擎的生態。那麼就讓我們在時代迎來鉅變之前,複習一下即將過時的搜索引擎知識吧。 搜索引擎一般查詢規則 在搜索引擎的時代,我們可以通過搜索引擎來快速的獲取到我們想

原创 在 Asp.Net Core 中什麼是認證和授權

認證(Authentication) 和 授權(Authorization)在 Asp.Net core 充當了兩個不同的職責。有的老夥計在理解的時候還存在誤解。本文我們將會通過一些簡單的例子來說明這兩個概念。 認證(Authenticat

原创 如何在 C# 項目中鏈接一個文件夾下的所有文件

在 C# 項目中通過鏈接方式引入文件可以讓我們在項目中使用這些文件中的代碼。常見的比如鏈接 AssemblyInfo.cs 文件,這樣我們就可以在項目中使用這個文件中的版本號等信息。但是如果我們想要鏈接一個文件夾下的所有文件,該怎麼做呢?今

原创 在 C# 9 中使用 foreach 擴展

在 C# 9 中,foreach 循環可以使用擴展方法。在本文中,我們將通過例子回顧 C# 9 中如何擴展 foreach 循環。 代碼演示 下面是一個對樹形結構進行深度優先遍歷的示例代碼: using System;using Syste

原创 如何實現隱式類型轉換

Result 類型是許多編程語言中處理錯誤的常用方式,包括 C# 的 dotNext 庫。在本文中,我們將通過例子回顧 C# 中 using 語句和隱式類型轉換的使用。 預期效果 下面是一個示例代碼,演示了 Result 類型的使用方法:

原创 如何指定多個項目的 InternalsVisibleTo

InternalsVisibleTo 屬性允許你指定一個或多個程序集,這些程序集可以訪問當前程序集中的內部類型。經常在進行單元測試時使用,例如,你可以在一個項目中定義一個內部類型,然後在另一個項目中進行單元測試。本文將介紹如何指定多個項目的

原创 如何在多個應用程序中共享日誌配置

有的時候你有多個應用程序,它們需要使用相同的日誌配置。在這種情況下,你可以將日誌配置放在一個共享的位置,然後通過項目文件快速引用。方便快捷,不用重複配置。 Directory.Build.props 通過在項目文件夾中創建一個名爲 Dire

原创 爲 ASPNETCORE 7 項目添加 Serilog

本文將介紹如何爲 ASP.NET Core 項目添加 Serilog。 添加 Serilog 首先,我們需要在項目中添加 Serilog 的 NuGet 包。 dotnet add package Serilog.AspNetCore 修

原创 如何在路由綁定中使用 IParsable

IParsable 是 .Net 7 中新增的接口,它可以將字符串轉換爲對應的實體。在 Controller 的 Route 綁定中可以使用 IParsable 來綁定複雜的實體。 實驗背景 假設有一個需要將 route "report/{

原创 如何使用 EF Core 7 批量刪除數據

在 EF Core 7 中,我們可以使用批量操作來刪除多條數據。這種方式與之前的版本有所不同,本文將對比 EFCore 7 和之前版本批量刪除數據的不同方式。 刪除給定 ID 的數據 在 EF Core 7 中,我們可以使用以下代碼來刪除給

原创 如何在 .Net 7 中將 Query 綁定到數組

在 .Net 7 中,我們可以通過綁定數組的方式來接收來自查詢字符串的參數。這樣就不需要再使用逗號分隔的字符串來獲取參數了。 代碼演示 假設我們需要從 query 上接受多個 id 並返回查詢的結果。例如: id=1&id=2 在 .Net

原创 實現 .Net 7 下的數據庫定時檢查

在軟件開發過程中,有時候我們需要定時地檢查數據庫中的數據,並在發現新增數據時觸發一個動作。爲了實現這個需求,我們在 .Net 7 下進行一次簡單的演示。 PeriodicTimer .Net 6 中新增了 PeriodicTimer 這個類

原创 使用 BenchmarkDotNet 比較指定容量的 List 的性能

我們之前提到 List 是 .NET 中常用的數據結構,其在存儲大量數據時,如果能夠指定它的初始化容量,就會有性能提升。這個優化的方法並不是很明顯,因此本文將使用 BenchmarkDotNet 庫,通過定量對比的方式來證明這一點。 實驗過