.NET周刊【11月第3期 2023-11-19】
國內(nèi)文章
.NET8.0 AOT 經(jīng)驗(yàn)分享 FreeSql/FreeRedis/FreeScheduler 均已通過測試
https://www.cnblogs.com/FreeSql/p/17836000.html
2023年11月15日,.net 8.0正式發(fā)布,引起開發(fā)者關(guān)注。作者關(guān)注AOT編譯體驗(yàn),更新了多個(gè)開源項(xiàng)目以支持.net 8.0,包括FreeRedis、CSRedisCore、FreeSql和FreeScheduler。FreeRedis 1.2.5和FreeSql 3.2.805發(fā)布后,作者測試了FreeRedis的AOT支持,初次失敗后安裝桌面版C++成功。整個(gè)過程記錄了.net 8.0的適配和AOT功能的實(shí)踐。
.NET8.0 AOT 經(jīng)驗(yàn)分享 - 專項(xiàng)測試各大 ORM 是否支持
https://www.cnblogs.com/FreeSql/p/17842391.html
本文討論了.NET 8.0 AOT的特點(diǎn)和經(jīng)驗(yàn),強(qiáng)調(diào)了其減少磁盤空間、縮短啟動(dòng)時(shí)間和降低內(nèi)存需求的優(yōu)勢。作者分享了.NET 8.0 AOT的使用體驗(yàn),提出了改進(jìn)發(fā)布速度、編譯前錯(cuò)誤檢查、調(diào)試加強(qiáng)和修復(fù)特定問題的建議。同時(shí),作者創(chuàng)建了一個(gè)測試AOT發(fā)布的開源項(xiàng)目,并對(duì)FreeSql、SqlSugar和EFCore三個(gè)ORM框架進(jìn)行了AOT測試,展示了發(fā)布耗時(shí)和操作性能。
.NET 8正式發(fā)布
https://www.cnblogs.com/shanyou/p/17833047.html
.NET 8在.NET Conf 2023活動(dòng)中發(fā)布,強(qiáng)調(diào)了云服務(wù)、性能提升、全棧Blazor、AI和.NET MAUI等特點(diǎn)。它支持將大型語言模型集成到應(yīng)用中,優(yōu)化了Blazor的Web UI處理,通過.NET MAUI簡化了移動(dòng)應(yīng)用部署,并在C# 12中引入了新的語言特性。作為長期支持版本,.NET 8提供三年支持和補(bǔ)丁。此外,.NET團(tuán)隊(duì)推進(jìn)原生提前編譯(NativeAOT),以減少內(nèi)存使用并加快應(yīng)用啟動(dòng)。.NET 8還包括性能、穩(wěn)定性和安全性的改進(jìn),新的代碼生成器和AVX-512指令集支持,以及基元類型的新格式化和解析接口,這些都有助于提高開發(fā)效率和應(yīng)用性能。
.NET 8.0 中有哪些新的變化?
https://www.cnblogs.com/powertoolsteam/p/17833417.html
.NET 8在整個(gè)技術(shù)棧中實(shí)現(xiàn)了大量性能改進(jìn),包括動(dòng)態(tài)配置文件引導(dǎo)優(yōu)化(PGO)和AVX-512指令集支持,提升應(yīng)用性能高達(dá)20%。.NET Aspire是一個(gè)云原生應(yīng)用堆棧,提供遙測、彈性、配置和健康檢查等組件。.NET 8容器功能增強(qiáng),包括非root用戶默認(rèn)配置和更小的基礎(chǔ)映像,提高了安全性和部署速度。原生AoT允許應(yīng)用在不支持JIT編譯器的環(huán)境中運(yùn)行。.NET 8集成了AI功能,增強(qiáng)了與生成式AI工作負(fù)載的兼容性,并與多種AI模型和服務(wù)平臺(tái)合作,提供了客戶聊天機(jī)器人和檢索增強(qiáng)生成等示例模板,以便開發(fā)人員快速上手。
.NET 8來了,那就開發(fā)一套基于.NET 8的快速開發(fā)框架吧,就叫Simple
https://www.cnblogs.com/Start201505/p/17841087.html
本文介紹了基于.NET 8的快速開發(fā)框架Simple Framework,旨在簡化開發(fā)流程,減少學(xué)習(xí)成本。框架特點(diǎn)包括基于.NET 8、少用第三方庫、基本授權(quán)鑒權(quán)、CRUD實(shí)現(xiàn)和后臺(tái)管理前端。規(guī)劃了使用NLog、Redis、Json庫等,并支持多數(shù)據(jù)庫結(jié)構(gòu)。框架包含基礎(chǔ)庫、Web項(xiàng)目擴(kuò)展庫、EFCore擴(kuò)展庫、代碼生成器和定時(shí)任務(wù)模塊,以提高開發(fā)效率和靈活性。
基于C# Socket實(shí)現(xiàn)的簡單的Redis客戶端
https://www.cnblogs.com/wucy/p/csharp_socket_redis_client.html
本文介紹了Redis,一種支持多種數(shù)據(jù)結(jié)構(gòu)的內(nèi)存數(shù)據(jù)庫,主要用于緩存、消息隊(duì)列等。文章重點(diǎn)展示如何用C# Socket實(shí)現(xiàn)Redis客戶端通信,而非開發(fā)完整工具包。Redis提供豐富命令集和RESP協(xié)議,用于數(shù)據(jù)操作和通信。常用命令包括GET、SET、DEL等,支持鍵值對(duì)存儲(chǔ)和多種數(shù)據(jù)結(jié)構(gòu)操作。
.NET開源全面方便的第三方登錄組件集合 - MrHuo.OAuth
https://www.cnblogs.com/Can-daydayup/p/17832805.html
本文介紹了MrHuo.OAuth,這是一個(gè).NET開源框架,用于集成各種第三方平臺(tái)的登錄授權(quán),如微信、支付寶等。該框架支持多個(gè)平臺(tái),方便.NET Core和.NET Framework項(xiàng)目使用。文章還提供了支付寶登錄的示例代碼,并建議閱讀支付寶對(duì)接文檔以便更高效地進(jìn)行對(duì)接。
Blazor入門教程
https://www.cnblogs.com/baibaomen-org/p/17837980.html
本文介紹了Blazor,這是一個(gè)基于.NET的Web UI框架,由Microsoft開發(fā),允許使用C#和HTML創(chuàng)建單頁應(yīng)用程序。Blazor有兩種托管模型:服務(wù)器端的Blazor Server和客戶端的Blazor WebAssembly。開發(fā)Blazor應(yīng)用需要.NET 6.0 SDK和Visual Studio 2022,并包含ASP.NET和Web開發(fā)工作負(fù)載。創(chuàng)建Blazor Server應(yīng)用的步驟包括啟動(dòng)Visual Studio,選擇Blazor Server應(yīng)用模板,配置項(xiàng)目,查看項(xiàng)目內(nèi)容,最后運(yùn)行應(yīng)用。項(xiàng)目內(nèi)容包括程序入口點(diǎn)Program.cs,根組件App.razor,示例網(wǎng)頁目錄Pages,項(xiàng)目定義文件BlazorApp.csproj,以及本地開發(fā)環(huán)境配置文件launchSettings.json。
TechEmpower 22輪Web框架 性能評(píng)測:.NET 8 戰(zhàn)績斐然
https://www.cnblogs.com/shanyou/p/17828353.html
本文報(bào)告了TechEmpower的第22輪Web框架性能測試結(jié)果,顯示.NET 8和ASP.NET Core在302個(gè)框架中排名第15,是主流編程語言中的第二。測試覆蓋了多種場景,源代碼和配置公開,具有高參考性。性能好的框架能降低成本,提升用戶體驗(yàn),避免搜索引擎降級(jí)。在無服務(wù)器和容器流行的今天,行業(yè)競爭激烈,測試包括冷啟動(dòng)和內(nèi)存消耗。Fortunes測試涉及ORM和數(shù)據(jù)庫,是Web服務(wù)常見用例。服務(wù)器性能取決于多線程編碼、系統(tǒng)調(diào)用和鎖爭用的優(yōu)化。報(bào)告建議升級(jí)至.NET 8,即將發(fā)布RTM版本,并提到即將舉行的.NET Conf 2023。同時(shí),文章邀請(qǐng)贊助即將舉行的2023中國.NET開發(fā)者峰會(huì)。
16個(gè)值得推薦的.NET ORM框架(含使用情況統(tǒng)計(jì)的投票,歡迎參與)
https://www.cnblogs.com/Can-daydayup/p/17834846.html
本文解釋了ORM(對(duì)象關(guān)系映射)是一種程序設(shè)計(jì)技術(shù),用于實(shí)現(xiàn)面向?qū)ο缶幊陶Z言與關(guān)系型數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換。選擇ORM框架時(shí),應(yīng)考慮業(yè)務(wù)場景和團(tuán)隊(duì)需求。文章列舉了.NET環(huán)境下多個(gè)優(yōu)秀ORM框架,并提供了投票鏈接以了解使用情況。同時(shí),推薦關(guān)注C#、.NET領(lǐng)域的最新動(dòng)態(tài)。特別介紹了EF Core和Dapper兩個(gè)框架,EF Core是微軟官方的輕量級(jí)ORM,支持多種數(shù)據(jù)庫;Dapper是速度極快的微型ORM,通過擴(kuò)展IDbConnection簡化數(shù)據(jù)庫操作。
記一次 .NET 某券商論壇系統(tǒng) 卡死分析
https://www.cnblogs.com/huangxincheng/p/17831401.html
本文描述了一個(gè)Web程序出現(xiàn)無響應(yīng)、內(nèi)存和線程數(shù)異常高的問題。作者通過調(diào)試工具觀察到線程棧空間異常,線程數(shù)達(dá)到2405個(gè)。進(jìn)一步分析發(fā)現(xiàn)許多線程在等待網(wǎng)絡(luò)請(qǐng)求的結(jié)果,這可能是問題的根源。
可怕!.Net 8正式發(fā)布了,.Net野心確實(shí)不小!
https://www.cnblogs.com/chingho/p/17834546.html
本文宣布了.NET 8的正式發(fā)布,這是迄今為止性能最快的版本,帶來了大量性能、穩(wěn)定性和安全性的改進(jìn),以及平臺(tái)和工具的增強(qiáng)功能。.NET 8重塑了構(gòu)建智能、云原生應(yīng)用和可擴(kuò)展高流量服務(wù)的方式,支持多平臺(tái)部署。MAUI的升級(jí)使得.NET不僅能在PC端運(yùn)行,還能開發(fā)iOS和Android應(yīng)用。原生AOT的加持提升了應(yīng)用性能,.NET Aspire預(yù)覽版發(fā)布,便于應(yīng)用監(jiān)控和維護(hù)。Blazor增強(qiáng)了Web UI框架的功能,同時(shí).NET 8為AI模型和服務(wù)提供了SDK,方便開發(fā)人員快速開發(fā)。總體而言,.NET 8在多端進(jìn)行了升級(jí)優(yōu)化,展現(xiàn)出卓越性能,使得.NET開發(fā)者能夠輕松應(yīng)對(duì)各種開發(fā)任務(wù)。
NET8 ORM 使用AOT SqlSugar
https://www.cnblogs.com/sunkaixuan/p/17839825.html
本文介紹了.NET 8的AOT(Ahead-of-Time)編譯技術(shù),它使用C#幾乎完全自舉,包括虛擬機(jī)、GC和內(nèi)存模型。文章還提到SqlSugar ORM已支持.NET AOT,展示了如何使用AOT進(jìn)行數(shù)據(jù)庫操作,包括建表、插入、查詢、刪除和更新。最后,文中提供了AOT配置教程,包括創(chuàng)建AOT項(xiàng)目、添加rd.xml配置文件和修改項(xiàng)目文件。
C#中Dictionary<TKey, TValue>的存儲(chǔ)結(jié)構(gòu)分析
https://www.cnblogs.com/pengze0902/p/17830689.html
本文講述了Dictionary<TKey, TValue>的使用和原理。Dictionary以哈希表形式實(shí)現(xiàn),鍵值對(duì)添加快速,檢索接近O(1)。文中以創(chuàng)建字典和添加鍵值對(duì)為例,引出對(duì)Dictionary內(nèi)部實(shí)現(xiàn)原理的探討,包括初始化、賦值、取值和擴(kuò)容。強(qiáng)調(diào)分析源碼時(shí)要避免先入為主,按邏輯解讀,記錄疑點(diǎn),最后對(duì)比理解差異。最后,簡述了Dictionary的構(gòu)造方法和核心源碼。
.NET8 Blazor新特性 流式渲染
https://www.cnblogs.com/chenyishi/p/17839086.html
本文介紹了Blazor中的流式渲染和服務(wù)端渲染(SSR)。與Razor Pages或MVC不同,Blazor提供了可重用組件和客戶端交互性。流式渲染通過多次響應(yīng)改善用戶體驗(yàn),首次快速返回頁面占位符,耗時(shí)操作后再更新內(nèi)容。在Blazor中,通過添加指令即可實(shí)現(xiàn)流式渲染組件,如修改Weather組件的延遲時(shí)間,可以體驗(yàn)到數(shù)據(jù)流式返回的效果。
.Net8 Blazor 嘗鮮
https://www.cnblogs.com/densen2014/p/17833038.html
本文介紹了.NET 8發(fā)布的Blazor全棧Web UI框架,它支持靜態(tài)和交互式服務(wù)器呈現(xiàn),以及客戶端呈現(xiàn)。Blazor結(jié)合流式渲染和組件狀態(tài)保留技術(shù),提高了頁面加載速度和用戶體驗(yàn)。文章還討論了自動(dòng)模式,它結(jié)合了服務(wù)器端和WebAssembly,實(shí)現(xiàn)了快速加載和高效運(yùn)行。最后,介紹了如何在Blazor Web App工程中設(shè)置不同的呈現(xiàn)模式,以及如何將這些模式應(yīng)用于組件實(shí)例。
如何通過 wireshark 捕獲 C# 上傳的圖片
https://www.cnblogs.com/huangxincheng/p/17836202.html
本文介紹了如何使用Wireshark抓取圖片。首先通過HTTP上傳圖片,然后在服務(wù)器端部署Wireshark,設(shè)置捕獲過濾器以避免界面卡死。上傳圖片后,Wireshark顯示圖片被分割成多個(gè)TCP段。通過選擇Follow -> TCP Stream,可以查看HTTP傳輸?shù)娜績?nèi)容,并將數(shù)據(jù)以Raw格式保存到本地。
快速入門:構(gòu)建您的第一個(gè) .NET Aspire 應(yīng)用程序
https://www.cnblogs.com/powertoolsteam/p/17835864.html
本文介紹了.NET Aspire,它幫助簡化云原生應(yīng)用程序與服務(wù)的連接配置。要使用.NET Aspire,需安裝.NET 8.0、.NET Aspire工作負(fù)載、Docker Desktop和IDE。創(chuàng)建.NET Aspire應(yīng)用程序模板,可通過Visual Studio或.NET CLI,Visual Studio提供項(xiàng)目模板簡化初始設(shè)置。創(chuàng)建項(xiàng)目時(shí),需選擇.NET 8.0版本,啟用Redis緩存。最終,Visual Studio將創(chuàng)建一個(gè)結(jié)構(gòu)化的.NET Aspire解決方案。
.NET 6.0 中的 await 原理淺析
https://www.cnblogs.com/broadm/p/17833442.html
本文通過分析源碼,闡述了await關(guān)鍵字背后的原理。作者通過VS2022和.NET 6環(huán)境,運(yùn)行示例代碼,揭示編譯器將異步代碼轉(zhuǎn)換為狀態(tài)機(jī)的過程。文章展示了簡化后的編譯代碼,解釋了狀態(tài)機(jī)如何通過管理狀態(tài)和回調(diào)來實(shí)現(xiàn)異步操作。
主題
宣布 .NET 8 - .NET 博客
https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/
- .NET 8 中的新特性
- 宣布 ASP.NET Core 在 .NET 8 中的更新 - .NET 博客
- 宣布 C# 12 - .NET 博客
- 宣布 .NET MAUI 在 .NET 8 中的更新 - .NET 博客
- Entity Framework Core 8 (EF8) 現(xiàn)已可用 - .NET 博客
- 宣布 F# 8 - .NET 博客
- 宣布 NuGet 6.8 - 輕松維護(hù)安全性 - NuGet 博客
Visual Studio 17.8 現(xiàn)已可用! - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/visual-studio-17-8-now-available/
介紹 .NET Aspire:簡化 .NET 8 的云原生開發(fā) - .NET 博客
https://devblogs.microsoft.com/dotnet/introducing-dotnet-aspire-simplifying-cloud-native-development-with-dotnet-8/
- .NET Aspire 文檔(預(yù)覽版)
- dotnet/aspire: .NET Aspire
.NET 框架 2023年11月 安全性和質(zhì)量匯總更新 - .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 - 預(yù)覽版 1 現(xiàn)已推出! - Visual Studio 博客
https://devblogs.microsoft.com/visualstudio/introducing-visual-studio-17-9-preview-1-is-here/
Visual Studio UI 刷新預(yù)覽版現(xiàn)已推出! - 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
發(fā)布 2.3.1 版本 · mysql-net/MySqlConnector
https://github.com/mysql-net/MySqlConnector/releases/tag/2.3.1
- 發(fā)布 2.3.0 版本 · mysql-net/MySqlConnector
發(fā)布 Windows App SDK 1.4.3 (1.4.231115000) 版本 · microsoft/WindowsAppSDK
https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.4.3
- 發(fā)布 WinUI 3 在 WinAppSDK 1.4.3 中的更新 · microsoft/microsoft-ui-xaml
發(fā)布 8.2.0 版本 · App-vNext/Polly
https://github.com/App-vNext/Polly/releases/tag/8.2.0
發(fā)布 4.10.0 版本 · openiddict/openiddict-core
https://github.com/openiddict/openiddict-core/releases/tag/4.10.0
介紹 .NET 語義內(nèi)核 SDK v1.0.0 Beta6 | 語義內(nèi)核
https://devblogs.microsoft.com/semantic-kernel/introducing-v1-0-0-beta6-for-the-net-semantic-kernel-sdk/
宣布 MonoGame 基金會(huì) - 新聞 - 社區(qū) | 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
自動(dòng)分析 ASP.NET Core 性能與動(dòng)態(tài)程序分析 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2023/11/14/automatically-analyze-asp-net-core-performance-with-dynamic-program-analysis/
優(yōu)化 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# 調(diào)用 Rust,反之亦然:第 1 部分 - Aaron Schlesinger 的個(gè)人網(wǎng)站
https://ecomaz.net/blog/csharp-rust/
- 從 C# 調(diào)用 Rust,反之亦然:第 2 部分 - Aaron Schlesinger 的個(gè)人網(wǎng)站
.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 中使用多個(gè)身份提供者進(jìn)行身份驗(yàn)證
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 是一個(gè)命令行工具,可以在本地模擬 HTTP API 的真實(shí)世界行為,包括 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
網(wǎng)站、文檔等
推文
https://x.com/higenekotech/status/1724641578109776215?s=12
https://x.com/skitoy4321/status/1724577626235523483?s=12
https://x.com/marcgravell/status/1724473162094505999?s=12&t=ggvrrZ7oLogHyNoIGNgjbw
https://x.com/socketnorm/status/1722853028435538060?s=12
https://x.com/debugprivilege/status/1723679401466880039?s=12
深入了解
.NET 7 與 .NET 8 之間的 API 差異 by carlossanlop · 拉取請(qǐng)求 #8921 · dotnet/core
https://github.com/dotnet/core/pull/8921
提高 BigInteger.Multiply(large, small) 的性能 by kzrnm · 拉取請(qǐng)求 #92208 · dotnet/runtime
https://github.com/dotnet/runtime/pull/92208
總結(jié)
以上是生活随笔為你收集整理的.NET周刊【11月第3期 2023-11-19】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求一个qq网名可爱女生!
- 下一篇: 武汉协和医院高颖、陈莉娟教授怎么预约,很