https://www.cnblogs.com/ncellit/p/17881779.html
本文介紹瞭如何以清爽的方式開發dotNet應用,特別是簡單的API。作者推薦使用.Net6的miniapi,提供了官方檔案連結,並分享了基於國內實際情況的個人方法。這包括建立一個企業官網API,涉及資料庫操作、授權鑑權、Swagger檔案和檔案上傳。作者建議引入必要的元件,如Swashbuckle.AspNetCore和SqlSugarCore,並強調根據需求新增元件以避免冗餘。還提到了將控制檯專案轉換為Web專案的步驟,並展示瞭如何在Program.cs
中設定專案,包括上傳大小限制、授權鑑權和Swagger設定。
https://www.cnblogs.com/Can-daydayup/p/17873700.html
本文介紹了公眾號「追逐時光者」定期分享的C#/.NET/.NET Core優秀專案和框架,包括專案介紹、功能特點和原始碼地址。CAP是一個輕量級的.NET庫,用於處理分散式事務和EventBus功能,有助於構建可延伸的微服務系統。ZEQP.WMS是一個支援多作業系統的倉儲管理系統,基於.Net Core 3.1和Colder.Admin.AntdVue框架開發。HandyControl是一套WPF控制元件庫,提供80多款自定義控制元件,易於建立美觀的WPF應用程式。這些資源有助於開發者提高開發效率和專案質量。
https://www.cnblogs.com/Can-daydayup/p/17884311.html
本文介紹了DotnetSpider,一個.NET平臺下的輕量級、高效能網路爬蟲框架。它支援非同步操作,通過記憶體型訊息佇列實現元件解耦,可設定為分散式爬蟲。文章還指導如何使用DotnetSpider爬取部落格園文章資訊,並儲存至文字檔案。
https://www.cnblogs.com/shanyou/p/17892164.html
TIOBE在2023年12月公佈了程式語言排行榜,C#有望成為年度程式語言,因為它在一年內增長了2.38%,而競爭對手Fortran和F#的增長遠低於此。C#與Java的差距也在縮小,12月份僅相差0.69%。C#的優勢在於能高效對接C和C++程式碼,尤其是在.NET 8的NativeAOT支援下。北京將舉辦.NET Conf Local Event,主題為「智慧 開源 安全」,探討.NET在開源領域的發展。會議還將討論.NET雲原生開發,特別是Aspire和Dapr的關係及其在雲原生開發中的應用。
https://www.cnblogs.com/bossma/p/17889457.html
本文分析了部落格園頻繁崩潰的原因。部落格園近期多次遭遇資料庫CPU使用率100%的故障,官方懷疑是引數嗅探問題導致SQL Server快取了低效的執行計劃。部落格園使用SQL Server和儲存過程,這在.NET技術體系中較為常見。儘管SQL Server作為商業資料庫效能可靠,但在特定引數下可能導致查詢效率低下。部落格園未能定位具體問題SQL,導致問題持續存在。有觀點認為SQL Server效能優於MySQL,但部落格園的問題可能與SQL Server本身或阿里雲服務有關。
https://www.cnblogs.com/tangyanzhi1111/p/17876898.html
本文講述了.NET8中對AOT(Ahead-of-Time)編譯的效能優化。AOT允許.NET原始碼通過ILC編譯器直接編譯成原生二進位制程式碼,無需JIT(Just-In-Time)編譯。優化的重點是減少AOT生成的可執行檔案大小,例如在.NET8中,一個ASP.NET應用程式的AOT檔案大小從.NET7的13MB減少到1.5MB。進一步優化可以通過設定csproj檔案,如設定優化偏好為體積、啟用不變全球化和關閉堆疊跟蹤支援,使檔案大小進一步減小到1.2MB。除了體積優化,.NET8還改進了AOT編譯器內部和單個庫的效能,如HttpClient,並支援BenchmarkDotNet進行效能測試,顯示出AOT的效能提升。
https://www.cnblogs.com/huangxincheng/p/17874509.html
本文解釋了Windows記憶體管理的幾個關鍵術語。Virtual Size是預定和提交地址的總和,可以通過測試程式碼和工具對比驗證。Working Set指實體記憶體條上的記憶體,包括獨佔和共用兩部分。Private Bytes是WS Private和換頁記憶體的總和,對分析記憶體洩露有幫助。通過實驗程式碼,作者展示了換頁記憶體的計算和pagefile.sys的使用情況。WS Shared是實際被共用的記憶體頁集合,與WS Shareable(可共用的記憶體頁集合)不同。
https://www.cnblogs.com/Start201505/p/17892327.html
本文介紹了作者使用.NET 8開發的Simple Framework快速開發框架,以及如何利用該框架建立一個個人網路硬碟專案。框架特點是簡化開發流程,支援多資料庫,包含基礎庫和多個擴充套件庫。作者計劃通過實戰專案教授專案對接、編碼、完善和部署。網路硬碟專案旨在實現基本的檔案管理功能,支援線上預覽編輯,多使用者隔離,以及在家部署使用。專案模擬了多個角色的合作,包括專案經理、前端開發、後端開發和運維,並使用了現成的前端頁面進行對接。
https://www.cnblogs.com/shanyou/p/17878059.html
.NET團隊於2023年11月28日釋出ML.NET 3.0,強調深度學習和資料處理的重要性,使開發者能在.NET生態中建立AI應用。ML.NET 3.0通過CLI和模型生成器等工具,支援開發者使用C#和F#構建和整合自定義ML模型。深度學習方面,新增了物件檢測、命名實體識別和問答功能,特別提出了TorchSharp支援的物件檢測API。資料處理方面,DataFrame和IDataView功能得到增強,改進了資料載入、轉換和視覺化步驟。未來,開發團隊計劃釋出.NET 9和ML.NET 4.0,繼續擴充套件深度學習場景和DataFrame整合。更多資訊可檢視發行說明。
https://www.cnblogs.com/Can-daydayup/p/17880839.html
本文講述瞭如何在.NET後端框架中使用SQLite-net ORM,並設計班級管理的資料庫表。作者首先封裝了SQLiteHelper,然後介紹了班級表和班級學生表的欄位設計,包括班級ID、名稱、建立時間以及學生ID、姓名、年齡、性別等。接著,展示了對應的班級管理模型SchoolClass和Student,並提供了專案原始碼地址。最後,文章強調了完善後端班級管理介面和自定義Swagger設定的重要性。
https://www.cnblogs.com/broadm/p/17875559.html
本文介紹了基於DotNetty的通訊實現,DotNetty是微軟Azure團隊開發的.NET網路庫。專案OpenDeploy.Communication類庫包含編碼解碼模組和定義通訊約定。自定義訊息格式NettyMessage包括訊息頭NettyHeader和訊息體Body,訊息頭包含唯一標識、是否同步、終結點等資訊,可序列化為JSON。編碼器和解碼器分別負責將NettyMessage轉換為位元組流和從位元組流中恢復NettyMessage。
https://www.cnblogs.com/hejiale010426/p/17881978.html
本文講述瞭如何構建一個將語音轉換為文字的WebApi服務。首先,使用Vscode建立WebApi專案,新增必要的Whisper.net依賴包。然後,下載模型和語音範例檔案,將其複製到專案目錄。接著,建立WhisperService.cs處理音訊檔並返回識別結果。最後,修改Program.cs註冊服務並構建API。服務完成後,通過控制檯命令執行並體驗,不同顯示卡的耗時有所差異。
https://www.cnblogs.com/hanbing81868164/p/17876423.html
本文介紹了Parallel.ForEach和AsParallel兩種並行程式設計工具。Parallel.ForEach能夠在多核處理器上並行執行集合的迭代操作,簡化並行程式設計,適用於簡單迴圈。AsParallel是LINQ的方法,能將查詢操作並行化,適合複雜的LINQ查詢。兩者的效能取決於任務型別和資料規模,Parallel.ForEach適合直接的集合迭代,而AsParallel適合需要篩選和對映的複雜查詢。在實際應用中,應根據任務需求選擇合適的並行工具。
https://www.cnblogs.com/kklldog/p/agileconfig-up-to-net8.html
本文講述了作者將AgileConfig專案升級到.NET8的經驗。首先,作者更新了專案的目標框架和所有nuget包,解決了一個棄用包的問題。然後,修改了dockerfile以適應.NET8。在本地和docker desktop環境中執行正常,但伺服器上出現了相容性錯誤,通過新增特定引數解決。作者總結.NET介面穩定,升級過程簡單,但新的runtime映象可能與舊版docker engine不相容。文末提供了專案的GitHub和Gitee地址,並邀請關注公眾號。
https://www.cnblogs.com/xiyuanMore/p/17893362.html
本文探討了安全的重要性和安全開發的概念,提出了從全域性視角識別和防範安全問題的必要性。通過分析近期網際網路大廠的安全事故,強調了從教訓中學習的重要性,並概述了內容、資料、裝置和行為四個安全維度。文章還介紹了.NET的安全基礎設施和威脅建模分析方法,強調了隨著技術發展,新的安全挑戰也隨之而來。作者通過分享個人思考和經驗,鼓勵開發者建立體系化的安全思考框架,並在.NET Conf China上進一步探討這些問題。
https://www.cnblogs.com/SunSpring/p/17879703.html
本文講述了Asp.Net Core中設定的概念和實踐。主機設定是專案啟動時的設定,應用程式設定是執行時的設定。預設主機設定優先順序為命令列、DOTNET_環境變數、ASPNETCORE_環境變數,且部分變數在啟動時鎖定。launchSettings.json檔案用於本地開發環境設定。預設應用程式設定優先順序為命令列、環境變數、使用者機密設定、appsettings.{Environment}.json、appsettings.json和主機設定。設定提供程式負責讀取這些設定。機密管理器工具用於儲存開發環境中的敏感設定,不在專案目錄下。
0.1.1
https://www.cnblogs.com/hejiale010426/p/17893528.html
本文介紹了CoreFlex框架,支援.NET 6、.NET 7和.NET 8,整合MasaFramework,提供企業級應用開發和Blazor的JS工具庫。框架目標包括JS操作、Serilog紀錄檔、限流、審計紀錄檔、虛擬檔案、系統設定、後臺任務和ChatGpt使用者端案例等模組。Core Flex模組是框架基礎,支援模組化和自動依賴注入。使用時,通過NuGet安裝包,建立模組需繼承CoreFlexModule類,實現生命週期方法,並可新增依賴其他模組的特性。CoreFlex.Razor.JsInterop是JS工具庫,提供Cookie和LocalStorage/SessionStorage操作API。
https://www.cnblogs.com/PatrickLiu/p/17874330.html
本文是《Net 高階偵錯》系列的第十二篇,深入介紹了GC垃圾回收演演算法、根物件概念及其存在區域、帶解構函式物件的回收機制、終端子佇列與執行緒的作用,以及大物件堆的回收策略。文章強調了對.Net框架底層的理解對偵錯的重要性,並提供了偵錯環境的詳細說明。通過實際程式碼的偵錯過程,驗證了理論知識,幫助讀者更深入地理解物件的生命週期和GC的工作原理。
https://www.cnblogs.com/pzscit/p/17880912.html
本文討論了高並行場景下的技術策略。介紹了非同步程式設計以避免阻塞,多執行緒和執行緒池以提高效率並控制資源使用。並行程式設計可同時執行多工,資料流程式設計則適合巨量資料處理。強調了記憶體管理的重要性,提倡使用並行集合和優化資料庫存取,如使用快取和連線池。最後,建議根據實際需求選擇合適的優化策略。
https://blog.jetbrains.com/dotnet/2023/12/07/rider-2023-3-release/
https://blog.jetbrains.com/dotnet/2023/12/07/resharper-2023-3-release/
https://blog.jetbrains.com/dotnet/2023/12/07/dotcover-dotmemory-dotpeek-and-dottrace-2023-3-release/
https://github.com/dotnet/BenchmarkDotNet/discussions/2479
https://github.com/StackExchange/StackExchange.Redis/releases/tag/2.7.10
https://github.com/npgsql/npgsql/releases/tag/v8.0.1
https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.6
https://github.com/microsoft/WindowsAppSDK/releases/tag/v1.5-exp1
https://devblogs.microsoft.com/dotnet/dotnet-8-networking-improvements/
https://devblogs.microsoft.com/dotnet/extending-web- assembly-to-the-cloud/
https://devblogs.microsoft.com/dotnet/dotnet-conf-2023-recap-videos-slides-demos-and-more/
https://qiita.com/nr_ck/items/f22c24c0583309577a5e
https://qiita.com/hiro_t/items/556868bc6d1f5fd53a6f
https://blog.alglab.net/archives/csharp-prkkeymap/
https://qiita.com/skitoy4321/items/c6ae2b58245b6874ec35
https://qiita.com/t0r/items/ef2fa3ae15af592e8674
https://qiita.com/hysui/items/ea0b00788f98cbb15980
https://annulusgames.com/blog/unsafe/
https://qiita.com/up-hash/items/47feaf9dbd94763431d7
https://qiita.com/wipiano/items/7fbf5d61d68f29fdbd36
https://qiita.com/up-hash/items/8e9e18c55d23686b2eb1
https://zenn.dev/guil/articles/dfdcba6a7f4636
https://qiita.com/up-hash/items/8eb07cdace041896e3e8
https://qiita.com/seiya2130/items/6c639efadbfcb279e4ed
https://qiita.com/hiro_t/items/f37256a59946c6c0faa7
https://aneuf.hatenablog.com/entry/2023/12/12/000000
https://qiita.com/up-hash/items/059975d06347b81087de
https://qiita.com/lx-sasabo/items/d3791b305d85bb686ae4
https://qiita.com/sh1ch/items/936945705d0c7a4ab655
https://qiita.com/Shaula/items/563ef337ae578ceebede
https://markheath.net/post/create-zip-files-in-blob-storage
https://qiita.com/onsen_koichi/items/a0d9a88254eec34c1afc
https://qiita.com/diontools/items/2d5625419bb4f43da1a5
https://qiita.com/aqua_ix/items/ba9533d60633abe4c850
https://zenn.dev/inuinu/articles/07ea814ca573c1
https://qiita.com/ingen084/items/8c4492bfb3cc50129507
https://zenn.dev/chomado/articles/231219-dot-net-conf
https://blog.ndepend.com/net-native-aot-explained/
https://zenn.dev/chomado/articles/231207-semantic-kernel-rc3
https://qiita.com/akid3020/items/df2fed5ecfd1ec9e4d33
https://devblogs.microsoft.com/dotnet/learn-dotnet8-beginner-videos/
https://zenn.dev/nuits_jp/articles/2023-12-06-use-windows-data-pdf-out-of-uwp
https://zenn.dev/nuits_jp/articles/2023-12-06-pdf-to-jpeg-benchmarks
https://qiita.com/Tanakancolle/items/b12c48e0cf0fe78af2ad
https://qiita.com/nr_ck/items/6faa86c5e381fb96c67a
https://andrewlock.net/customising-the-new-telemetry-logging-source-generator/
https://henriquesd.medium.com/net-aspire-296e24b952c0
https://devblogs.microsoft.com/visualstudio/scroll-to-expand-document-tabs/
https://dev.to/milanjovanovictech/global-error-handling-in-aspnet-core-8-2mki
https://qiita.com/Hydrangeas/items/bca8ecc5d5cb0f14a37c
https://blog.elmah.io/dependency-injection-using-keyed-services-is-finally-in-asp-net/
https://timheuer.com/blog/add-environment-variables-to-aspire-services/
https://devblogs.microsoft.com/dotnet/creating-aot-相容-libraries/
https://ufcpp.net/blog/2023/12/escape-escape/
https://khalidabuhakmeh.com/testing-typesense-search-with-testcontainers-and-dotnet
https://migeel.sk/blog/2023/12/08/building-bare-metal-bootable-game-for-raspberry-pi-in-csharp/
https://andrewlock.net/redacting-sensitive-data-with-microsoft-extensions-compliance/
https://zenn.dev/naminodarie/articles/dotnet_native_aot_i
https://blog.jetbrains.com/dotnet/2023/12/11/net-annotated-monthly-december-2023/
https://marketplace.visualstudio.com/items?itemName=TimHeuer.GitHubActionsVS
https://x.com/timheuer/status/1731011137389695140?s=12
https://x.com/aaronontheweb/status/1731500517816201611?s=12
由於筆者沒有那麼多時間對國內的一些文章進行整理,歡迎大家為《.NET週刊-國內文章》板塊進行貢獻,需要推廣自己的文章或者框架、開源專案可以下方的專案地址提交Issue或者在我的微信公眾號私信。
格式如下:
https://github.com/InCerryGit/.NET-Weekly