.NET周刊【12月第2期 2024-12-08】

[复制链接]
发表于 2025-12-4 13:34:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
国内文章


升讯威在线客服与营销体系由.net core和WPF开发,旨在开放、开源、共享。开发者为办理360与其他国产管家的误报标题,接纳数字署名以提升软件安全性。利用Signcode.exe工具可为多种文件范例提供数字署名,加强可信度,并通逾期间戳服务维持有用性,克制重署名。天生数字署名证书涉及自署名证书创建及导出,Signtool用于署名实行。制作根证书和子证书确保允许范围,通过Signcode完成文件署名。同时,夸大证书安全及形貌信息精确性,以防安全标题及证书吊销。该体系保障24/7稳固运行,面向.NET社区,提倡开源互助。
.NET Core 锁(Lock)底层原理浅谈


本文先容了CPU原子操纵的概念,夸大其雷同于数据库事件。CPU能包管单条汇编的原子性,通过锁机制实现多条汇编的原子性。Interlocked类利用CPU锁保障原子性,尤实在用于处理惩罚8字节数据的long范例。在差别架构中,x86面对凌驾4字节的数据不包管原子性,必要利用64位架构或CPU锁机制。用户态锁和内核态锁各有优缺点,用户态锁在高并发情况下大概浪费CPU资源。volatile关键字用于克制编译器在多线程中错误优化。示例代码展示了利用Interlocked类实现简单自旋锁,以及通过SpinWait让CPU在无竞争获取锁时减轻负担。
ASP.NET Core 9.0 中新增的MapStaticAssets() 中心件


Core 9.0版本新增了MapStaticAssets中心件,旨在替换UseStaticFiles,办理静态资源传输压缩、缓存服从低和指纹辨认缺乏的标题。MapStaticAssets提供静态资产的压缩与指纹辨认,接纳基于内容的ETag,提升资源加载速率及用户体验。其在发送哀求时会设置ETag、缓存标头,并利用压缩中心件。只管云云,UseStaticFiles在处理惩罚捏造文件等方面仍有其不可替换性。发起在可用情况下利用MapStaticAssets以提升体系性能。
基于 C# 编写的 Visual Studio 文件编码表现与修改扩展插件


在软件开发中,文件编码标题不可忽视。差别操纵体系和编辑器大概导致乱码和编译错误。C#编写的Visual Studio扩展插件FileEncoding可以大概及时表现文档编码,并答应用户轻松修改。该插件进步了跨平台开发的服从,方便用户辨认和调解文件编码。插件源代码和利用方法可以在市场和GitHub找到。别的,该项目已被收录到C#/.NET良好项目列表中,有助于开发者相识最新动态。
Natasha v9.0 为 .NET 开发者提供 [热实行] 方案.


Natasha v9.0 推出了热实行方案,支持在控制台和新版Asp.net Core架构中动态重编译项目,无需制止工程即可更新结果。这项技能通过语法树重写与动态编译实现,区别于传统的热重载。热实行可以大概快速相应文件改动,得当技能初学者和项目初期开发者。通过添加指令来优化重编译过程,如开释模式编译、异步署理、清除二义性引用等。项目支持.NET 3.0及以上版本,实用于不含Source Generator的版本。全新署理实行过程包管参数清晰,步调只在初次运行时实行特定代码。
一款基于 .NET + Blazor 开发的智能访客管理体系


访客管理在各类场所中变得越来越紧张。传统方式低效且易堕落,而基于.NET和Blazor的智能访客管理体系接纳数字化本事优化管理流程,进步安全性与服从。体系具备快速注册、直观仪表板、多维度设置、即时警报等功能,支持多语言和多平台操纵。项目同时开源,鼓励开发者到场与贡献,旨在提升C#/.NET范畴的开发服从。该体系确保了访客管理的规范性和高效性,是当代机构管理的紧张工具。
基于.NetCore开发博客项目 StarBlog - (32) 第一期完结


本文记载了 StarBlog 项目的状态及 v2 版本的开发规划。作者自2022年以来开发该项目,以认识AspNetCore为目的,过程中也举行了Vue前端学习。作者意识到现在的项目过于底子,操持专注于其他项目,如StarSSO、EchoSubs等。别的,作者指出了当前版本的不敷,包罗接口方法利用不当、返回数据范例不公道等,并操持在v2中办理。别的,还规划了通过利用Next.js和React技能栈重构前背景,加强访问统计和文章编辑功能,引入AI功能和全文检索引擎。作者总结AspNetCore的功能,重点先容非常处理惩罚和中心件的应用。
构建你的.NET Aspire办理方案


.NET Aspire 是一组工具和模板,用于构建云原生 .NET 应用步调。它通过处理惩罚特定标题的 NuGet 包支持小型互连微服务。它改善了云原生应用步调的构建体验,包罗应用步调的编排和集成。 .NET Aspire 提供实用于 Visual Studio 和 CLI 的项目模板,确保应用步调与服务无缝毗连。用户必要满意肯定条件条件,如 .NET 8.0、Docker 和支持的 IDE。通过下令行工具安装模板后,用户可以创建最小的 .NET Aspire 项目,和谐多服务的业务流程。该工具包支持多种测试项目格式,实用于差别范例的开发需求。
TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面


本文先容怎样利用WPF/C#构建TesseractOCR用户界面,以提升下令利用用的便利性。起首,用户需在当地安装TesseractOCR并从GitHub下载依赖框架的压缩包。界面计划简单易用,支持中文和英文辨认。作者分析了两种封装方法:一种是对下令行的封装,另一种是调用C++ API。当前实现以下令行封装为主,通过Visual Studio 2022和.NET 8开发。核心代码展示了怎样实行OCR下令并处理惩罚输出,保持简单直观。
Asp.net MVC中的Http管道变乱为什么要以Application_开头?


文章讨论了在API哀求竣事时开释数据库毗连的方法。作者提到通过实现IHttpModule和在web.config中增长设置可以到达目的,但比力贫苦。作者发起在Global.asax.cs中实现Application_EndRequest方法来开释毗连,并提供了具体实现细节。随后,作者对为什么必须利用Application_EndRequest方法举行了源码分析,夸大HttpApplicationFactory类与MvcApplication实例的关系,从而表明白Global.asax作为入口文件的缘故原由。
利用 SemanticKernel 对接 Ollma


本文先容了怎样利用 Microsoft 的 SemanticKernel 框架与 Ollama 谈天服务对接。起首,需在当地安装 Ollama 服务和相应模子,之后创建 C# 控制台应用步调并安装须要的包。接着,引入相干定名空间并设置服务端点和模子 ID,设置谈天服务。然后,文章展示了一个简单的谈天循环,让用户输入和获取 Ollama 复兴。末了,渴望通过这篇博客,读者能更好地明白和利用这些工具。
构建你的.NET Aspire办理方案


.NET Aspire 是构建生产停当云原生应用的工具集,提供 NuGet 包处理惩罚特定标题。云原生应用由微服务构成,.NET Aspire 提供同等性工具和模式,改善分布式应用开发体验。它支持当地开发情况的多项目编排和与常用服务的集成,提供实用于Visual Studio等工具的模板。条件条件包罗 .NET 8.0 或 9.0、Docker 情况和符合的 IDE。.NET Aspire 提供多个模板,如入门应用、应用主机和测试项目。用户可创建和设置微服务,利用 NuGet 包集成 Redis、Postgres 服务。
dotnet core微服务框架Jimu ~ 底子网关


文章先容了怎样利用.NET Core和Asp.Net Core创建网关,作为微服务的同一入口。步调包罗创建项目、添加引用和设置Startup文件,以支持Jimu和Consul举行服务发现和管理。网关通过HTTP协议继承哀求,并利用TCP/IP协议调用微服务。终极实现了根本的网关功能,支持跨域和日记记载,以及服务管理的开端设置,包罗服务器列表和康健状态的展示。
GZY.EFCore.BulkExtensions 支持达梦数据库的EF Core批量操纵库详解


这篇文章先容了EFCore.BulkExtensions库的改造,以支持.NET 5.0下的MySQL和达梦数据库。文章具体表明白两种数据库的批量操纵实现,包罗批量插入、批量修改和批量删除。对MySQL,利用SqlBulkCopy举行批量插入,利用on duplicate key update语法举行批量修改,利用DELETE INNER JOIN语法举行批量删除。对达梦数据库,接纳DmBulkCopy举行批量插入,接纳MERGE INTO语法举行批量修改,批量删除部门与MySQL雷同。文章还夸大了设置和操纵的留意点,如MySQL的local_infile功能。只管7.0+版本支持条件修改和删除,但批量处理惩罚功能尚未完全支持。
http哀求超时, 底层发生了什么?


文章先容了OpenResty模拟超时服务,通过Golang和.NET的HttpClient默认设置,表明白客户端超时的征象及其缘故原由。文中利用的.NET代码设置了3秒超时,结果在客户端抛出非常,而服务端日记表现正常200相应。利用Wireshark分析TCP包,可见客户端在超时后制止毗连,但服务端仍继承处理惩罚。这表明白服务端监控监控无5xx错误的征象。同时分析服务器通过CancellationToken感知客户端取消哀求以记载逾期哀求。
开源 - Ideal库 - Excel资助类,TableHelper实现(三)


该内容讲授了怎样将DataTable转换成对象聚集的方法。起首,通过反射来实例化对象和赋值,将表的列名与类的属性名对比,若属性设置了Description特性,则利用特性值匹配列名。实现过程中,需确保类范例合法且表格可以转换,处理惩罚时先用object装箱再拆箱布局体。代码片断展示了具体实现,通过单元测试验证转换的精确性。
开源 - Ideal库 - Excel资助类,ExcelHelper实现(五)


本文具体先容了ExcelHelper类的单元测试,包罗读取Excel文件到DataSet的差别方法。代码示例展示了怎样验证读取的工作表数目及其具体内容,包罗表名和数据。文中对各种用例举行了测试,如读取全部工作簿、从特定工作簿读取、处理惩罚不存在的工作簿等。测试确保了方法的可靠性和精确性,为Excel数据处理惩罚提供了实用的技能支持。
WinForm 开源组件 Realtiizor


Realtiizor 是一款用于 WinForm 应用的当代组件库,具备雅观的界面计划和丰富易用的组件。它接纳 Material Design 元素,提升了应用步调的视觉结果,吸引用户。组件库中包罗多种定制化的按钮和文本框,简化了开发流程,收缩了开发时间。Realtiizor 在 .NET 8 情况下运行稳固,与常见库兼容,性能优化良好。安装过程简单,通过 NuGet 包管理器即可实现。在实际应用中,开发者可以大概轻松创建样式独特的窗体。通过提供的示例,展示了怎样构建用户信息录入界面。团体来说,Realtiizor 提供了高服从和良好体验的开发工具.
主题

OpenSilver 3.1 简介:首款实用于 VS Code 的 XAML 计划器、当代 UI 主题、WPF Everywhere 等

https://opensilver.net/announcements/3-1/
发布 v3.0.3 / v3.0.301(3.0.308) · MessagePack-CSharp/MessagePack-CSharp

https://github.com/MessagePack-CSharp/MessagePack-CSharp/releases/tag/v3.0.3 https://github.com/MessagePack-CSharp/MessagePack-CSharp/releases/tag/v3.0.301


  • neue cc - 关于与 SourceGenerator 兼容的 MessagePack for C# v3 的发布和未来
发布 v9.0.2 · npgsql/npgsql

https://github.com/npgsql/npgsql/releases/tag/v9.0.2
公布 Oracle EF Core 9

https://medium.com/@alex.keh/announcing-oracle-ef-core-9-74f627a01891
调用异步功能:.NET 9 中的 WinForms 有多么待 - .NET 博客

https://devblogs.microsoft.com/dotnet/introducing-winforms-async-apis/
到临节日历



  • 在配备 NPU 的 Copilot+ PC 上运行 NPU - Qiita
  • 关于使 WinUI3 MarkdownControl 与 TextMate 兼容的故事 - Qiita
  • 用 C# 操纵 vJoy(创建 feeder)- Qiita
  • 启用Datadog的一连分析器后标题立刻得到办理 - Qiita
  • 怎样利用 MAUI 处理惩罚步调 - Qiita
  • 关于 C# 中实行创建通货膨胀游戏时的 BigInteger - Qiita
  • TextMateSharp 简介 - Qiita
  • [C#] 利用表达式树和源天生器的高性能查询天生器简介 - Qiita
  • 序列化/反序列化具有大量对象的json数组 - Qiita
  • [C#] 关于.NET 9引入的OrderedDictionary - Qiita
  • 我创建了一个利用 Cloud Vision API 记载收据的步调 - Qiita
  • [C# .NET 9.0] 实行利用 InlineArray 创建值范例字典 - Qiita
  • .NET9、C#13 的新功能拾取 - Qiita
  • 关于 Win2D 第 6 部门 PixelShaderEffect - Qiita
  • Heroku 上对 .NET 的官方支持 - Qiita
  • [C#] 遗留代码模式和当代改进方法 - Qiita
  • Win2D 第 5 部门 图像加载和结果 - Qiita
  • [C#] 利用模式匹配轻便地编写条件分支 - Qiita
  • 关于Win2D第5部门画线-Qiita- 关于不喜欢Dim的话题-Qiita
  • .NET 9 中添加到 LINQ 的方法 - Qiita
文章、幻灯片等

轻松发布到 Linux 上的 Azure WebJobs - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/effortless-publishing-to-azure-webjobs-on-linux/
利用 YamlDotNet 源天生器举行本机 AOT

https://andrewlock.net/using-the-yamldotnet-source-generator-for-native-aot/
C# 性能调优示例#1

https://zenn.dev/boostdraft/articles/bd86e264f99d89
GraphQL 入门#1 与 Strawberry Shake (.NET)

https://zenn.dev/masakura/articles/606435acb359cb


  • GraphQL #2 with Strawberry Shake (.NET),由 JetBrains Rider 编辑
  • 利用 Strawberry Shake (.NET) 毗连到 GraphQL #3 Shopify
  • GraphQL #4 在 Strawberry Shake (.NET) 中自界说到 GraphQL 范例的映射
  • 在 Strawberry Shake (.NET) 中利用 GraphQL #5 GraphQL 团结
利用 Blazor 切换亮/暗模式 + 将生存模式切换到当地存储 - Qiita

https://qiita.com/masayahak/items/8173bd61845bb5774370
将当地 AI 模子与 .NET Aspire 联合利用 - .NET 博客

https://devblogs.microsoft.com/dotnet/local-ai-models-with-dotnet-aspire/
C# 步调员 JavaScript 备忘单(LINQ 版)

https://zenn.dev/zead/articles/js-cheat-sheet-for-linq
.NET 10 中 LINQ LeftJoin 运算符的提案

https://medium.com/@malarsharmila/proposal-for-a-linq-leftjoin-operator-in-net-10-af74635079a6
实行将通用主机与 WPF 联合利用

https://zenn.dev/microsoft/articles/wpf-generic-host
继承利用非壅闭代码整理 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/keep-working-with-non-blocking-code-cleanup/
开释新潜力:.NET 9 中的实体框架核心加强功能

https://dev.to/leandroveiga/unlocking-new-pottial-entity-framework-core-enhancements-in-net-9-1875
在 C# 中模拟 gRPC 客户端:Fake It Till You Make It

https://dev.to/maximiliysiss/mocking-grpc-clients-in-c-fake-it-till-you-make-it-4d24
变乱溯源很简单! :用 400 行创建的简单内存框架

https://zenn.dev/jtechjapan_pub/articles/f7968a3f2fb6d5
在 Uno 平台中构建 Bluesky 客户端

https://mzikmund.dev/blog/building-a-bluesky-client-in-uno-platform
2024 年运行 100 万个并发使命必要多少内存?

https://hez2010.github.io/async-runtimes-benchmarks-2024/
利用 Dependabot 管理 .NET SDK 更新 - .NET 博客

https://devblogs.microsoft.com/dotnet/using-dependabot-to-manage-dotnet-sdk-updates/
在 Visual Studio 中引入 GitHub Copilot 谈天的代码引用 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/introducing-code-referencing-for-github-copilot-chat-in-visual-studio/
用for语句查抄TLB结果 - Qiita

https://qiita.com/pea1205/items/6279235179f2b339ff6a
内联返回值怎样简化 Visual Studio 2022 中的调试 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/how-inline-return-values-simplify-debugging-in-visual-studio-2022/
从转换为 UUID v7 的 Guid 中提取时间戳 - Qiita

https://qiita.com/higege-amdeker/items/098cd7414a11af8d83cb
利用对接窗口创建信息丰富的应用步调 AvalonDock - Qiita

https://qiita.com/NSS_FS_ENG/items/e16ea3c25e42608c4a25
SRTP保举

https://zenn.dev/midoliy/articles/a9048d2eada7ba
怎样在 MVVM 架构中利用 Microsoft.Extensions.DependencyInjection ~ with Dog

https://zenn.dev/sakaki_web/articles/42c5fdf8f14cf0
在 Visual Studio 17.12 中引入复制 Git 永世链接功能 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/introducing-the-copy-git-permalink-feature-in-visual-studio-17-12/
   本文由博客一文多发平台 OpenWrite 发布!
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表