.NET週刊【11月第3期 2023-11-19】

國內文章

.NET8.0 AOT 經驗分享 FreeSql/FreeRedis/FreeScheduler 均已通過測試

https://www.cnblogs.com/FreeSql/p/17836000.html

2023年11月15日,.net 8.0正式發佈,引起開發者關注。作者關注AOT編譯體驗,更新了多個開源項目以支持.net 8.0,包括FreeRedis、CSRedisCore、FreeSql和FreeScheduler。FreeRedis 1.2.5和FreeSql 3.2.805發佈後,作者測試了FreeRedis的AOT支持,初次失敗後安裝桌面版C++成功。整個過程記錄了.net 8.0的適配和AOT功能的實踐。

.NET8.0 AOT 經驗分享 - 專項測試各大 ORM 是否支持

https://www.cnblogs.com/FreeSql/p/17842391.html

本文討論了.NET 8.0 AOT的特點和經驗,強調了其減少磁盤空間、縮短啓動時間和降低內存需求的優勢。作者分享了.NET 8.0 AOT的使用體驗,提出了改進發布速度、編譯前錯誤檢查、調試加強和修復特定問題的建議。同時,作者創建了一個測試AOT發佈的開源項目,並對FreeSql、SqlSugar和EFCore三個ORM框架進行了AOT測試,展示了發佈耗時和操作性能。

.NET 8正式發佈

https://www.cnblogs.com/shanyou/p/17833047.html

.NET 8在.NET Conf 2023活動中發佈,強調了雲服務、性能提升、全棧Blazor、AI和.NET MAUI等特點。它支持將大型語言模型集成到應用中,優化了Blazor的Web UI處理,通過.NET MAUI簡化了移動應用部署,並在C# 12中引入了新的語言特性。作爲長期支持版本,.NET 8提供三年支持和補丁。此外,.NET團隊推進原生提前編譯(NativeAOT),以減少內存使用並加快應用啓動。.NET 8還包括性能、穩定性和安全性的改進,新的代碼生成器和AVX-512指令集支持,以及基元類型的新格式化和解析接口,這些都有助於提高開發效率和應用性能。

.NET 8.0 中有哪些新的變化?

https://www.cnblogs.com/powertoolsteam/p/17833417.html

.NET 8在整個技術棧中實現了大量性能改進,包括動態配置文件引導優化(PGO)和AVX-512指令集支持,提升應用性能高達20%。.NET Aspire是一個雲原生應用堆棧,提供遙測、彈性、配置和健康檢查等組件。.NET 8容器功能增強,包括非root用戶默認配置和更小的基礎映像,提高了安全性和部署速度。原生AoT允許應用在不支持JIT編譯器的環境中運行。.NET 8集成了AI功能,增強了與生成式AI工作負載的兼容性,並與多種AI模型和服務平臺合作,提供了客戶聊天機器人和檢索增強生成等示例模板,以便開發人員快速上手。

.NET 8來了,那就開發一套基於.NET 8的快速開發框架吧,就叫Simple

https://www.cnblogs.com/Start201505/p/17841087.html

本文介紹了基於.NET 8的快速開發框架Simple Framework,旨在簡化開發流程,減少學習成本。框架特點包括基於.NET 8、少用第三方庫、基本授權鑑權、CRUD實現和後臺管理前端。規劃了使用NLog、Redis、Json庫等,並支持多數據庫結構。框架包含基礎庫、Web項目擴展庫、EFCore擴展庫、代碼生成器和定時任務模塊,以提高開發效率和靈活性。

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

https://www.cnblogs.com/wucy/p/csharp_socket_redis_client.html

本文介紹了Redis,一種支持多種數據結構的內存數據庫,主要用於緩存、消息隊列等。文章重點展示如何用C# Socket實現Redis客戶端通信,而非開發完整工具包。Redis提供豐富命令集和RESP協議,用於數據操作和通信。常用命令包括GET、SET、DEL等,支持鍵值對存儲和多種數據結構操作。

.NET開源全面方便的第三方登錄組件集合 - MrHuo.OAuth

https://www.cnblogs.com/Can-daydayup/p/17832805.html

本文介紹了MrHuo.OAuth,這是一個.NET開源框架,用於集成各種第三方平臺的登錄授權,如微信、支付寶等。該框架支持多個平臺,方便.NET Core和.NET Framework項目使用。文章還提供了支付寶登錄的示例代碼,並建議閱讀支付寶對接文檔以便更高效地進行對接。

Blazor入門教程

https://www.cnblogs.com/baibaomen-org/p/17837980.html

本文介紹了Blazor,這是一個基於.NET的Web UI框架,由Microsoft開發,允許使用C#和HTML創建單頁應用程序。Blazor有兩種託管模型:服務器端的Blazor Server和客戶端的Blazor WebAssembly。開發Blazor應用需要.NET 6.0 SDK和Visual Studio 2022,幷包含ASP.NET和Web開發工作負載。創建Blazor Server應用的步驟包括啓動Visual Studio,選擇Blazor Server應用模板,配置項目,查看項目內容,最後運行應用。項目內容包括程序入口點Program.cs,根組件App.razor,示例網頁目錄Pages,項目定義文件BlazorApp.csproj,以及本地開發環境配置文件launchSettings.json。

TechEmpower 22輪Web框架 性能評測:.NET 8 戰績斐然

https://www.cnblogs.com/shanyou/p/17828353.html

本文報告了TechEmpower的第22輪Web框架性能測試結果,顯示.NET 8和ASP.NET Core在302個框架中排名第15,是主流編程語言中的第二。測試覆蓋了多種場景,源代碼和配置公開,具有高參考性。性能好的框架能降低成本,提升用戶體驗,避免搜索引擎降級。在無服務器和容器流行的今天,行業競爭激烈,測試包括冷啓動和內存消耗。Fortunes測試涉及ORM和數據庫,是Web服務常見用例。服務器性能取決於多線程編碼、系統調用和鎖爭用的優化。報告建議升級至.NET 8,即將發佈RTM版本,並提到即將舉行的.NET Conf 2023。同時,文章邀請贊助即將舉行的2023中國.NET開發者峯會。

16個值得推薦的.NET ORM框架(含使用情況統計的投票,歡迎參與)

https://www.cnblogs.com/Can-daydayup/p/17834846.html

本文解釋了ORM(對象關係映射)是一種程序設計技術,用於實現面向對象編程語言與關係型數據庫數據轉換。選擇ORM框架時,應考慮業務場景和團隊需求。文章列舉了.NET環境下多個優秀ORM框架,並提供了投票鏈接以瞭解使用情況。同時,推薦關注C#、.NET領域的最新動態。特別介紹了EF Core和Dapper兩個框架,EF Core是微軟官方的輕量級ORM,支持多種數據庫;Dapper是速度極快的微型ORM,通過擴展IDbConnection簡化數據庫操作。

記一次 .NET 某券商論壇系統 卡死分析

https://www.cnblogs.com/huangxincheng/p/17831401.html

本文描述了一個Web程序出現無響應、內存和線程數異常高的問題。作者通過調試工具觀察到線程棧空間異常,線程數達到2405個。進一步分析發現許多線程在等待網絡請求的結果,這可能是問題的根源。

可怕!.Net 8正式發佈了,.Net野心確實不小!

https://www.cnblogs.com/chingho/p/17834546.html

本文宣佈了.NET 8的正式發佈,這是迄今爲止性能最快的版本,帶來了大量性能、穩定性和安全性的改進,以及平臺和工具的增強功能。.NET 8重塑了構建智能、雲原生應用和可擴展高流量服務的方式,支持多平臺部署。MAUI的升級使得.NET不僅能在PC端運行,還能開發iOS和Android應用。原生AOT的加持提升了應用性能,.NET Aspire預覽版發佈,便於應用監控和維護。Blazor增強了Web UI框架的功能,同時.NET 8爲AI模型和服務提供了SDK,方便開發人員快速開發。總體而言,.NET 8在多端進行了升級優化,展現出卓越性能,使得.NET開發者能夠輕鬆應對各種開發任務。

NET8 ORM 使用AOT SqlSugar

https://www.cnblogs.com/sunkaixuan/p/17839825.html

本文介紹了.NET 8的AOT(Ahead-of-Time)編譯技術,它使用C#幾乎完全自舉,包括虛擬機、GC和內存模型。文章還提到SqlSugar ORM已支持.NET AOT,展示瞭如何使用AOT進行數據庫操作,包括建表、插入、查詢、刪除和更新。最後,文中提供了AOT配置教程,包括創建AOT項目、添加rd.xml配置文件和修改項目文件。

C#中Dictionary<TKey, TValue>的存儲結構分析

https://www.cnblogs.com/pengze0902/p/17830689.html

本文講述了Dictionary<TKey, TValue>的使用和原理。Dictionary以哈希表形式實現,鍵值對添加快速,檢索接近O(1)。文中以創建字典和添加鍵值對爲例,引出對Dictionary內部實現原理的探討,包括初始化、賦值、取值和擴容。強調分析源碼時要避免先入爲主,按邏輯解讀,記錄疑點,最後對比理解差異。最後,簡述了Dictionary的構造方法和核心源碼。

.NET8 Blazor新特性 流式渲染

https://www.cnblogs.com/chenyishi/p/17839086.html

本文介紹了Blazor中的流式渲染和服務端渲染(SSR)。與Razor Pages或MVC不同,Blazor提供了可重用組件和客戶端交互性。流式渲染通過多次響應改善用戶體驗,首次快速返回頁面佔位符,耗時操作後再更新內容。在Blazor中,通過添加指令即可實現流式渲染組件,如修改Weather組件的延遲時間,可以體驗到數據流式返回的效果。

.Net8 Blazor 嚐鮮

https://www.cnblogs.com/densen2014/p/17833038.html

本文介紹了.NET 8發佈的Blazor全棧Web UI框架,它支持靜態和交互式服務器呈現,以及客戶端呈現。Blazor結合流式渲染和組件狀態保留技術,提高了頁面加載速度和用戶體驗。文章還討論了自動模式,它結合了服務器端和WebAssembly,實現了快速加載和高效運行。最後,介紹瞭如何在Blazor Web App工程中設置不同的呈現模式,以及如何將這些模式應用於組件實例。

如何通過 wireshark 捕獲 C# 上傳的圖片

https://www.cnblogs.com/huangxincheng/p/17836202.html

本文介紹瞭如何使用Wireshark抓取圖片。首先通過HTTP上傳圖片,然後在服務器端部署Wireshark,設置捕獲過濾器以避免界面卡死。上傳圖片後,Wireshark顯示圖片被分割成多個TCP段。通過選擇Follow -> TCP Stream,可以查看HTTP傳輸的全部內容,並將數據以Raw格式保存到本地。

快速入門:構建您的第一個 .NET Aspire 應用程序

https://www.cnblogs.com/powertoolsteam/p/17835864.html

本文介紹了.NET Aspire,它幫助簡化雲原生應用程序與服務的連接配置。要使用.NET Aspire,需安裝.NET 8.0、.NET Aspire工作負載、Docker Desktop和IDE。創建.NET Aspire應用程序模板,可通過Visual Studio或.NET CLI,Visual Studio提供項目模板簡化初始設置。創建項目時,需選擇.NET 8.0版本,啓用Redis緩存。最終,Visual Studio將創建一個結構化的.NET Aspire解決方案。

.NET 6.0 中的 await 原理淺析

https://www.cnblogs.com/broadm/p/17833442.html

本文通過分析源碼,闡述了await關鍵字背後的原理。作者通過VS2022和.NET 6環境,運行示例代碼,揭示編譯器將異步代碼轉換爲狀態機的過程。文章展示了簡化後的編譯代碼,解釋了狀態機如何通過管理狀態和回調來實現異步操作。

主題

宣佈 .NET 8 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/

Visual Studio 17.8 現已可用! - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visual-studio-17-8-now-available/

介紹 .NET Aspire:簡化 .NET 8 的雲原生開發 - .NET 博客

https://devblogs.microsoft.com/dotnet/introducing-dotnet-aspire-simplifying-cloud-native-development-with-dotnet-8/

.NET 框架 2023年11月 安全性和質量彙總更新 - .NET 博客

https://devblogs.microsoft.com/dotnet/dotnet-framework-november-2023-security-and-quality-rollup/

.NET 2023年11月更新 – .NET 7.0.14, .NET 6.0.25 - .NET 博客

https://devblogs.microsoft.com/dotnet/november-2023-updates/

介紹 Visual Studio 17.9 - 預覽版 1 現已推出! - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/introducing-visual-studio-17-9-preview-1-is-here/

Visual Studio UI 刷新預覽版現已推出! - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/the-visual-studio-ui-refresh-preview-is-here/

LINQPad 8

https://www.linqpad.net/LINQPad8.aspx

https://x.com/linqpad/status/1724762440330793436?s=12

發佈 2.3.1 版本 · mysql-net/MySqlConnector

https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.1

發佈 Windows App SDK 1.4.3 (1.4.231115000) 版本 · microsoft/WindowsAppSDK

https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.4.3

發佈 8.2.0 版本 · App-vNext/Polly

https://github.com/App-vNext/Polly/releases/tag/8.2.0

發佈 4.10.0 版本 · openiddict/openiddict-core

https://github.com/openiddict/openiddict-core/releases/tag/4.10.0

介紹 .NET 語義內核 SDK v1.0.0 Beta6 | 語義內核

https://devblogs.microsoft.com/semantic-kernel/introducing-v1-0-0-beta6-for-the-net-semantic-kernel-sdk/

宣佈 MonoGame 基金會 - 新聞 - 社區 | MonoGame

https://community.monogame.net/t/announcing-the-monogame-foundation/19809

文章、幻燈片等

.NET Conf2023 推薦視頻彙總

https://zenn.dev/tomokusaba/articles/3dd75339210ddc

.NET 8 — ASP.NET Core 度量

https://medium.com/abp-community/net-8-asp-net-core-metrics-e69c908e583b

自動分析 ASP.NET Core 性能與動態程序分析 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2023/11/14/automatically-analyze-asp-net-core-performance-with-dynamic-program-analysis/

優化 C# 代碼分析以更快編譯 .NET

https://dev.to/asimmon/optimizing-c-code-analysis-for-quicker-net-compilation-4e3d

.NET 8 中的 ConfigureAwait

https://blog.stephencleary.com/2023/11/configureawait-in-net-8.html

.NET 8 的 ASP.NET Core Blazor 新功能概覽

https://zenn.dev/microsoft/articles/aspnetcore-blazor-dotnet8-overview

從 C# 調用 Rust,反之亦然:第 1 部分 - Aaron Schlesinger 的個人網站

https://ecomaz.net/blog/csharp-rust/

.NET 8 中新增的 LINQ 方法 - Qiita

https://qiita.com/RyotaMurohoshi/items/aa57e96a01c6627ec08d

微軟 Fluent UI Blazor 組件版本 4.0.0 的新功能

https://baaijte.net/blog/microsoft-fluentui-aspnetcore.components-4/

.NET 和 C# 版本 - 8/12 更新

https://nietras.com/2023/11/14/dotnet-and-csharp-versions/

在 ASP.NET Core 中使用多個身份提供者進行身份驗證

https://damienbod.com/2023/11/13/authentication-with-multiple-identity-providers-in-asp-net-core/

.NET 中更多的 SQLite 加密

https://www.bricelam.net/2023/11/10/more-sqlite-encryption.html

圖書館、倉庫、工具等

SuperJMN/DotnetPackaging: .NET 的更簡單打包

https://github.com/SuperJMN/DotnetPackaging

microsoft/dev-proxy: Dev Proxy 是一個命令行工具,可以在本地模擬 HTTP API 的真實世界行爲,包括 Microsoft Graph。

https://github.com/microsoft/dev-proxy

dotNETConf/2023/DigitalSWAG at main · dotnet-presentations/dotNETConf

https://github.com/dotnet-presentations/dotNETConf/tree/main/2023/DigitalSWAG

網站、文檔等

推文

https://x.com/higenekotech/status/1724641578109776215?s=12

image-20231121184505812


https://x.com/skitoy4321/status/1724577626235523483?s=12

image-20231121184531744


https://x.com/marcgravell/status/1724473162094505999?s=12&t=ggvrrZ7oLogHyNoIGNgjbw

image-20231121184608878


https://x.com/socketnorm/status/1722853028435538060?s=12

image-20231121184647870


https://x.com/debugprivilege/status/1723679401466880039?s=12

image-20231121184723662

深入瞭解

.NET 7 與 .NET 8 之間的 API 差異 by carlossanlop · 拉取請求 #8921 · dotnet/core

https://github.com/dotnet/core/pull/8921

提高 BigInteger.Multiply(large, small) 的性能 by kzrnm · 拉取請求 #92208 · dotnet/runtime

https://github.com/dotnet/runtime/pull/92208

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章