原创 體驗Semantic Kernel圖片內容識別

前言     前幾日在瀏覽devblogs.microsoft.com的時候,看到了一篇名爲Image to Text with Semantic Kernel and HuggingFace的文章。這篇文章大致的內容講的是,使用Seman

原创 細聊ASP.NET Core WebAPI格式化程序

前言      我們在使用ASP.NET Core WebApi時它支持使用指定的輸入和輸出格式來交換數據。輸入數據靠模型綁定的機制處理,輸出數據則需要用格式化的方式進行處理。ASP.NET Core框架已經內置了處理JSON和XML的輸入

原创 基於C# Socket實現的簡單的Redis客戶端

前言     Redis是一款強大的高性能鍵值存儲數據庫,也是目前NOSQL中最流行比較流行的一款數據庫,它在廣泛的應用場景中扮演着至關重要的角色,包括但不限於緩存、消息隊列、會話存儲等。在本文中,我們將介紹如何基於C# Socket來實現

原创 細聊C# AsyncLocal如何在異步間進行數據流轉

前言     在異步編程中,處理異步操作之間的數據流轉是一個比較常用的操作。C#異步編程提供了一個強大的工具來解決這個問題,那就是AsyncLocal。它是一個線程本地存儲的機制,可以在異步操作之間傳遞數據。它爲我們提供了一種簡單而可靠的方

原创 由C# yield return引發的思考

前言     當我們編寫 C# 代碼時,經常需要處理大量的數據集合。在傳統的方式中,我們往往需要先將整個數據集合加載到內存中,然後再進行操作。但是如果數據集合非常大,這種方式就會導致內存佔用過高,甚至可能導致程序崩潰。     C# 中的y

原创 由ASP.NET Core讀取Response.Body引發的思考

前言     前幾天有羣友在羣裏問如何在我之前的文章《ASP.NET Core WebApi返回結果統一包裝實踐》的時候有點疑問,主要的疑問點就是關於Respouse的讀取的問題。在之前的文章《深入探究ASP.NET Core讀取Reque

原创 研究c#異步操作async await狀態機的總結

前言     前一段時間得閒的時候優化了一下我之前的輪子[DotNetCoreRpc]小框架,其中主要的優化點主要是關於RPC異步契約調用的相關邏輯。在此過程中進一步瞭解了關於async和await異步操作相關的知識點,加深了異步操作的理解

原创 關於ASP.NET Core WebSocket實現集羣的思考

前言     提到WebSocket相信大家都聽說過,它的初衷是爲了解決客戶端瀏覽器與服務端進行雙向通信,是在單個TCP連接上進行全雙工通訊的協議。在沒有WebSocket之前只能通過瀏覽器到服務端的請求應答模式比如輪詢,來實現服務端的變更

原创 細聊.Net Core中IServiceScope的工作方式

前言     自從.Net Core引入IOC相關的體系之後,關於它的討論就從來沒有停止過,因爲它是.Net Core體系的底層框架,你只要使用了.Net Core的時候就必然會用到它。當然關於使用它的過程中產生的問題也從來沒停止過。我對待

原创 解決ASP.NET Core在Task中使用IServiceProvider的問題

前言     問題的起因是在幫同事解決遇到的一個問題,他的本意是在EF Core中爲了解決避免多個線程使用同一個DbContext實例的問題。但是由於對Microsoft.Extensions.DependencyInjection體系的深

原创 由ASP.NET Core根據路徑下載文件異常引發的探究

前言     最近在開發新的項目,使用的是ASP.NET Core6.0版本的框架。由於項目中存在文件下載功能,沒有使用類似MinIO或OSS之類的分佈式文件系統,而是下載本地文件,也就是根據本地文件路徑進行下載。這其中遇到了一個問題,是關

原创 深入探究MinimalApi是如何在Swagger中展示的

前言     之前看到技術羣裏有同學討論說對於MinimalApi能接入到Swagger中感到很神奇,加上Swagger的數據本身是支持OpenApi2.0和OpenApi3.0使得swagger.json成爲了許多接口文檔管理工具的標準數

原创 由C# dynamic是否裝箱引發的思考

前言     前幾天在技術羣裏看到有同學在討論關於dynamic是否會存在裝箱拆箱的問題,我當時第一想法是"會"。至於爲啥會有很多人有這種疑問,主要是因爲覺得dynamic可能是因爲有點特殊,因爲它被稱爲動態類型,可能是因爲這裏的動態對大家

原创 ASP.NET Core WebApi返回結果統一包裝實踐

前言     近期在重新搭建一套基於ASP.NET Core WebAPI的框架,這其中確實帶來了不少的收穫,畢竟當你想搭建一套框架的時候,你總會不自覺的去想,如何讓這套框架變得更完善一點更好用一點。其中在關於WebApi統一結果返回的時候

原创 淺談C#字符串構建利器StringBuilder

前言     在日常的開發中StringBuilder大家肯定都有用過,甚至用的很多。畢竟大家都知道一個不成文的規範,當需要高頻的大量的構建字符串的時候StringBuilder的性能是要高於直接對字符串進行拼接的,因爲直接使用+或+=都會