.NET周刊【9月第5期 2024-09-29】

news/2024/10/10 8:04:25

国内文章

Windows 调试工具课程

https://www.cnblogs.com/lindexi/p/18421353

本文是关于如何使用Windows调试工具解决软件故障的课程记录,适合初学者。作者介绍了解决软件崩溃的策略,从用户反馈开始,利用事件查看器和任务管理器等工具找出问题根源。事件查看器可以给出软件崩溃的关键日志信息,任务管理器则用于检测进程状况。若上述工具无效,则通过捕获DUMP文件进行深入分析。DUMP文件能够还原进程的内存状态,作者建议使用Visual Studio等工具进行分析。总之,文章详述了从问题发现到解决的完整流程。

.net 到底行不行!2000 人在线的客服系统真实屏录演示(附技术详解)

https://www.cnblogs.com/sheng_chao/p/18431157

作者开发了一个基于.NET的在线客服系统,展示了其高效性能和安全性。系统在低配置服务器上可处理超过16万次HTTPS请求和25万次PV请求,内存占用小于300MB,CPU占用约5%。使用HTTPS和AES加密保障数据安全,并支持私有化部署。技术细节中,作者讨论了通过NetworkStream实现TCP服务器的过程,解决了缓冲处理和数据解析的问题,提高了消息处理的效率。

.Net Web项目中,实现轻量级本地事件总线 框架

https://www.cnblogs.com/kong-ming/p/18422632

事件总线负责系统中事件的发布和订阅,通过松耦合方式提高模块间通信的灵活性和可维护性。实现上,事件总线自动注入到DI容器中,每个事件处理程序也自动注入。通过标注特性,事件总线能自动发现并触发相应处理程序。使用案例展示了如何继承事件模型并注入事件总线服务,通过DI获取事件总线服务来触发事件。事件总线功能开发包括定义服务接口和事件处理器接口,其中通过泛型指定事件模型类型。特性用于标注处理程序,根据消息类型找到并调用相应处理程序,支持多个处理程序顺序执行,错误不影响其他处理程序。

.NET 8 + Vue/UniApp 高性能前后端分离框架

https://www.cnblogs.com/1312mn/p/18418452

本文推荐了一款名为 Admin.NET 的前后端分离框架,该框架采用 .NET5/.NET7/.NET8 结合 SqlSugar ORM 用于后端开发,并使用 Vue2.x/Vue3.x 进行前端开发。此框架支持 RBAC 权限管理、高效的代码生成、自动分表及多数据源,配置简单运行快捷。Admin.NET 提供全面的权限管理和日志记录系统,支持多语种和多数据库,利于提升开发效率和简化操作。项目前端支持多种设备,后端提供丰富的功能模块,适合多种业务场景使用。框架的轻量化设计和强大的可扩展性,使开发者能够更专注于业务逻辑,减少重复工作。

使用.NET并行任务库(TPL)与并行Linq(PLINQ)充分利用多核性能

https://www.cnblogs.com/GuZhenYin/p/18429430

本文记录了如何利用.NET并行任务库(TPL)优化多核CPU性能的问题。作者在项目中面临结算方法执行效率低的问题,发现服务器只有一个核心在工作。通过TPL,改用并行执行,加快了结算速度,从超时变为20秒完成。TPL简化了并行编程,自动处理线程调度和状态管理。示例展示了顺序执行与并行执行的时间对比,性能提升明显,尤其是在多核机器上。文章还提及PLINQ,可在多个处理器上并行执行查询,极大提升数据处理效率。

C#实现信创国产Linux桌面录制成MP4(源码,银河麒麟、统信UOS)

https://www.cnblogs.com/shawshank/p/18427307

文章介绍在国产操作系统上使用跨平台技术进行桌面录制的方法。通过.NET Core和相关组件实现了图像采集、视频编码,并生成mp4文件。具体步骤包括创建并启动图像采集器和录制器,将数据传入录制器编码生成文件,并在银河麒麟或统信UOS系统上运行。相关代码展示了如何实现这些功能,并提供源码下载以便进一步研究。

2024 年 C# 高效开发:精选实用类库

https://www.cnblogs.com/1312mn/p/18419381

文章介绍了多种受欢迎的C#类库,包括Entity Framework Core、Newtonsoft.Json、AutoMapper、HttpClient、Serilog、Hangfire、xUnit和OxyPlot。每个类库的功能、优点和缺点都被详细分析。Entity Framework Core提供强大的对象关系映射功能,支持多数据库系统和LINQ查询。Newtonsoft.Json擅长JSON数据操作。AutoMapper简化对象映射。HttpClient用于发送和接收HTTP请求。Serilog灵活记录日志信息。Hangfire处理后台任务。xUnit用于单元测试,OxyPlot进行数据可视化。各类库在性能、实用性和配置复杂性方面有不同的特点。

.NEET跨平台绘图基础库--SkiaSharp

https://www.cnblogs.com/shanyou/p/18437145

SkiaSharp 是 .NET 平台的跨平台 2D 图形 API,基于 Google 的 Skia 图形库。它可用于移动、服务器和桌面平台,包括 ASP.NET Core、WPF 等。最初为 Google Android 和 Chrome 提供图形引擎,现在支持 Blazor WebAssembly,实现网页画布绘图。结合 Microsoft.Maui.Graphics,SkiaSharp 为 MAUI 提供一致的跨平台图形渲染。AvaloniaUI 使用 SkiaSharp 增强渲染性能,而 Uno 平台通过 SkXamlCanvas 集成 SkiaSharp。它适用于广泛应用场景,如绘图工具、报表制作、图像生成和游戏开发,但网页绘图支持有限。在高性能图形渲染上表现出色,尽管在移动设备上需优化。

WaterCloud:一套基于.NET 8.0 + LayUI的快速开发框架,完全开源免费!

https://www.cnblogs.com/Can-daydayup/p/18434330

WaterCloud是一款基于.NET 8.0和LayUI的开源快速开发框架,旨在提高开发效率,支持多种商业应用开发。技术上使用ASP.NET MVC、API和SqlSugar,实现灵活的RBAC权限控制和多租户功能。前端以LayUI为主,集成了诸如文件管理、流程设计和响应式设计,支持多种设备。框架包含代码生成器和丰富的工具类,降低学习成本,为开发者提供了一套完整的解决方案。

C# 开源浏览器性能提升,体验Chrome级速度

https://www.cnblogs.com/1312mn/p/18420917

SharpBrowser 是使用 C# 和 CefSharp 开发的快速开源浏览器,基于.NET 6。采用轻量级 CEF 渲染器,速度甚至超越 Chrome。支持HTML5、CSS3、JavaScript、WebAssembly等技术,具备多标签浏览、智能地址栏、导航控制和开发者工具等功能。个性化强,可定制错误页面和上下文菜单。依赖 VC++ 2019 运行时和 CefSharp 必需版本。项目灵活、性能卓越,希望对开发者有帮助。

GZY.Quartz.MUI(基于Quartz的UI可视化操作组件) 2.7.0发布 新增各项优化与BUG修复

https://www.cnblogs.com/GuZhenYin/p/18426388

该项目更新至2.7.0版本,增加了API任务超时时间设置,可全局配置或单独设置。日志查看默认按开始时间倒序排列,新增控制台日志显示配置。UI方面,固定了操作栏和表头,并添加了HTML标签支持。此外,修复了API任务无参数报错问题。项目轻量,支持多种.NET宿主项目,可选HTTP定时调用和DLL反射调用本地方法。代码示例提供了如何配置这些功能。

CodeMaid:一款基于.NET开发的Visual Studio代码简化和整理实用插件

https://www.cnblogs.com/Can-daydayup/p/18428939

文章介绍了CodeMaid插件,它是一款.NET开源免费工具,旨在简化和格式化Visual Studio中的代码。CodeMaid支持多种编程语言,提供代码清理、注释格式化、行排序等功能,提高代码可读性和开发效率。用户可以通过Visual Studio插件市场下载安装,该插件已被收录在C#/.NET/.NET Core优秀项目中,并开源在GitHub和Gitee上。

.NET 工具库高效生成 PDF 文档

https://www.cnblogs.com/1312mn/p/18429834

QuestPDF 是一个开源 .NET 库,可通过简洁的 C# Fluent API 生成 PDF 文档。它支持跨平台运行,不依赖外部库,能够快速处理大型复杂文档。该库提供强大的调试工具,以及文本、图像等多种元素支持。通过 QuestPDF,可以轻松创建和定制复杂的 PDF 文档,例如报告和发票。用户无需复杂设置即可上手,便于在 WebAPI 项目中生成 PDF 文件。官方文档提供了丰富的示例和详细教程,帮助用户快速掌握其功能。

使用MessagePipe实现进程间通信

https://www.cnblogs.com/sesametech-dotnet/p/18436641

MessagePipe是一种用于.NET和Unity的高性能消息传递管道,支持多种模式和通信方式。相比标准C#事件,其效率更高。通过Prism框架搭建的两个WPF项目演示了MessagePipe在分布式发布/订阅中的应用。Publish项目负责发送消息,Subscribe项目接收消息,均通过依赖注入实现。代码中展示了通过构造函数注入和RelayCommand发送与接收消息的过程。

C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)

https://www.cnblogs.com/Can-daydayup/p/18425207

该文章汇总了C#/.NET/.NET Core技术的最新发展动态,包括项目架构模式、.NET智能组件、GitHub Copilot改进、.NET 9候选版本及其框架更新、ASP.NET Core 9 RC 1的重要功能更新,以及一系列实用开源项目和技术点,如异步套接字库、ORM框架、防撤回补丁等。目的是帮助开发者站在技术前沿,涵盖了广泛的开发需求,并提供了丰富的学习资源。

用C#写个PDF批量合并工具简化日常工作

https://www.cnblogs.com/kacarton/p/18426625

为了满足项目需求,简化PDF文档的处理,开发了一款基于开源项目PdfBinder1.2的工具。该工具能够快速合并多份PDF、选取或拆分指定页码、设置书签作为导航、统一页面尺寸,并支持文件拖放操作。它通过C#编写并使用WinForms实现文件添加、分组以及界面更新功能。程序检查PDF有效性,并记录总页数与提取范围。用户可在界面中批量添加PDF,通过拖放实现文件管理,定义分组书签来管理PDF文件。该工具旨在简化操作,提高PDF文档处理效率。

2款.NET开源且免费的Git可视化管理工具

https://www.cnblogs.com/Can-daydayup/p/18434926

Git是一种分布式版本控制系统,用于记录修改历史和支持多人协作,由Linus Torvalds创建。Git以其高效、灵活、稳定成为软件开发中最流行的工具。它使用“仓库”来保存代码和历史,支持本地仓库的同步。Git具有强大的分支和合并功能。Git Extensions是一个用于管理Git存储库的.NET开源工具,能与Windows和Visual Studio集成。SourceGit是另一款.NET开源、跨平台的Git管理工具。这些工具已被收录到C#/.NET优秀项目精选中,帮助开发者提高效率。

Serilog文档翻译系列(五) - 编写日志事件

https://www.cnblogs.com/hugogoos/p/18430233

文章详细介绍了如何在 Serilog 中使用日志事件,包括日志级别、消息模板、动态级别调整及其语法规范。强调日志事件的重要性和如何通过属性名称提高可读性。Serilog 使用 C# 格式字符串的超集,属性用大括号括住,支持运算符和格式后缀。日志级别从详细到致命逐次递增,信息级别是分析事件流的关键。并说明在分布式应用中可动态调整日志级别。同时,介绍如何通过 ForContext 添加源上下文和标识符以增强日志事件的关联性。

.NET 跨平台工业物联网网关解决方案

https://www.cnblogs.com/1312mn/p/18426035

本文介绍了基于.NET 6开发的工业物联网网关解决方案,它像智能交通警察,连接本地设备与云端系统。该解决方案支持跨平台部署,提供直观的可视化配置界面,可连接多种设备实现双向数据通信。支持边缘计算,为数据处理提供支持。内置Mqtt和OPCUA服务,可轻松与MES、SCADA交互数据。开源项目可在各种硬件上运行并针对特定硬件优化。提供在线体验,用户可通过配置实现设备数据的高效管理和传输。

.NET 开源高性能 MQTT 类库

https://www.cnblogs.com/1312mn/p/18412658

MQTTnet 是一个用于 .NET 平台的开源 MQTT 客户端和服务器库,广泛应用于物联网设备。它支持 MQTT 3.1.1 至 5.0,适用于多种 .NET 版本如 .NET Framework 和 .NET Core。主要特点包括高性能异步编程、跨平台兼容性、易用 API 和安全的 SSL/TLS 支持。MQTTnet 可实现消息发布与订阅、自动重连和安全认证等功能。其应用场景涵盖物联网、车联网和工业自动化。MQTT 客户端和服务器的开发步骤涉及安装库、配置和消息处理等。

Serilog文档翻译系列(六) - 可用的接收器、增强器、格式化输出

https://www.cnblogs.com/hugogoos/p/18435815

Serilog 使用接收器将日志写入存储,提供多种格式和增强器来丰富日志事件。配置通过 NuGet 添加,如 Serilog.Enrichers.Thread 等。日志上下文允许动态为日志添加属性,Serilog 项目提供多个增强器包,如环境、进程、线程、网络请求等。在格式化输出上,支持纯文本和 JSON 格式,通过模板和格式化程序控制输出细节。内置属性如异常、级别、消息、时间戳等可以在输出中使用。

【译】通过新的 WinUI 工作负荷和模板改进,深入原生 Windows 开发

https://www.cnblogs.com/MeteorSeed/p/18322316

在Build 2024大会上,WinUI团队宣布重新聚焦WinUI,作为推荐的原生Windows应用开发框架。新推出的“Windows application development”工作负荷在Visual Studio 17.10中只需一键安装,支持.NET或C++开发WinUI应用。新的WinUI模板在项目创建界面中得到提升,并新增了社区请求的单元测试模板。新工作负荷解决了过去反馈的问题,使工具与API更清晰易用。用户可以通过GitHub或Twitter反馈并关注最新动态。

C# WebSocket Servers -- Fleck、SuperSocket、TouchSocke

https://www.cnblogs.com/KarlAlbright/p/18433768

最近在维护老项目时,发现内存问题与WebSocketServer有关。经过研究Fleck、SuperSocket等开源项目,了解到在新的.NET版本中只需使用app.UseWebSockets()即可支持WebSocket。文章提供了Fleck的实现例子,包括服务器的启动与数据发送功能,同时提到SuperSocket的版本兼容性变化。

SimpleRAG-v1.0.3:增加文件对话功能

https://www.cnblogs.com/mingupupu/p/18433464

文章介绍了如何使用C#提升工作效率,包括自动化任务、构建自定义工具、系统集成、开发插件和优化代码。文中还描述了一个功能,实现了通过读取文档内容直接回答问题,而不是使用RAG技术。提供的代码片段展示了如何通过异步方法读取文件内容并生成AI响应。示例项目已公开在GitHub上,用户可以下载体验,只需在配置文件中输入API key即可。

【翻译】实现 Blocked Floyd-Warshall 用于解决所有对最短路径问题 C# 实现

https://www.cnblogs.com/ms27946/p/18439228/implementing-blocked-floyd-warshall-algorithm-for-solving-all-pairs-shortest-path-problem-in-c

这篇文章继续深入探讨最短路径问题,特别关注Floyd-Warshall算法的变体以及缓存的利用。作者首先解释了CPU缓存的基本概念,包括L1、L2和L3缓存的作用和区别。接着,文章介绍了如何使用阻塞式Floyd-Warshall算法来优化路径计算,通过划分矩阵块来高效处理路径问题。整个过程强调了缓存命中率和性能提升,通过具体示例展示如何应用这些优化技术。文中还提到了相关硬件特性和性能指标,以加深理解。这篇文章致力于结合理论与实践,帮助开发者编写高效的C#和.NET代码。

C#爬取动态网页上的信息:B站主页

https://www.cnblogs.com/timefiles/p/18436160

文章介绍如何使用Selenium和HtmlAgilityPack爬取动态内容网站的信息。使用Selenium获取渲染后的HTML文档,然后用HtmlAgilityPack解析文档,提取所需的数据。步骤包括设置浏览器启动参数和等待页面加载。以B站为例,演示获取视频信息的方法。代码示例展示如何获取页面源码并提取视频标题、链接及封面。最后提供完整的实现和测试过程。

数据结构 - 数组

https://www.cnblogs.com/hugogoos/p/18432633

本文详细讲解了数组的数据结构和ADT抽象数据类型的实现。数组是一种线性数据结构,内存地址连续,元素类型相同,支持随机访问。文章通过定义类、初始化数组、获取长度和元素操作等示例,展示了如何从零实现数组。强调了索引从0开始的原因,涉及内存管理与性能优化,具有很好的教学价值。

从0到1搭建权限管理系统系列四 .net8 中Autofac的使用(附源码)

https://www.cnblogs.com/cyzf/p/18439606

文章介绍OverallAuth2.0系列,每周更新,分享一个功能强大的权限和可视化流程管理系统。推荐阅读之前的文章以更好理解系统结构。重点介绍了Autofac作为高性能的Ioc框架,提升代码可维护性和测试效率。文中详细描述了Autofac的安装和配置方法,通过创建AutofacPlugIn类来实现组件注入,还列举了System架构中DomainService和Infrastructure的应用示例,展示了如何实现依赖注入的具体代码,最终实现简单的测试验证效果。

从0到1搭建权限管理系统系列三 .net8 JWT创建Token并使用

https://www.cnblogs.com/cyzf/p/18422784

文章介绍OverallAuth2.0权限及可视化流程管理系统,特别强调了如何使用JWT生成和管理Token。通过实例代码展示如何使用反射提取用户信息,并结合JWT配置生成Token。阐述了两个主要方法:PropValuesType帮助获取模型字段,BuildToken则结合用户信息与JWT配置创建并返回Token。文章适合不同水平的读者,提供了具体代码示例以便理解和应用。作者建议对生成Token的因素可根据需求自定义。

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

https://www.cnblogs.com/wdw984/p/18440864

Redis Stream 是 Redis 5.0 引入的新数据类型,适合于高效消费者组、支持阻塞操作和数据持久化等特性。它能实现多生产者多消费者模式,适用于消息队列、任务调度和事件驱动架构。FreeRedis 是基于 .NET 的 Redis 客户端,支持多种功能包括集群、哨兵模式、发布订阅及事务等。使用 FreeRedis 可以实现消息消费的确认和监控等操作,代码实现基于 WPF 及相关项目依赖。

关于众包打造博客园精品教程品牌的建议

https://www.cnblogs.com/kevinzx/p/18440627

博客园可以组织高手编写不同语言和技术方向的教程,如.Net和Java开发,还可邀请撰写项目管理专题。博客园设计主题并邀请投稿,最终发布,VIP会员可查看完整版。这将促进作者宣传和流量,并可在各大平台推广,收取费用提成。

SimpleAIAgent:使用免费的glm-4-flash即可开始构建简单的AI Agent应用

https://www.cnblogs.com/mingupupu/p/18431071

SimpleAIAgent使用C#和WPF构建,以探索AI Agent应用,主要涉及国产或开源大语言模型。示例包括文本翻译并保存文件,流程由LLM自动判断调用函数,并进行任务执行。强调实现自动函数调用,通过插件实现功能,插件应符合具体需求,减少混乱调用。提供翻译插件示例,展示如何将中文翻译成英文并保存。

尝试让查询更简单

https://www.cnblogs.com/fs7744/p/18437966

作者自述沉没成本,最初研究Source Generators与AOP结合在ORM中的应用。经过一段时间,借鉴DapperAOT,实现类似功能,并加入查询定制功能。虽然创新有限,但功能逐渐完善。sv.db能进行数据库到实体映射,简化查询编码,并支持复杂条件。通过定义查询规则,将查询转换为SQL或其他数据库查询语句。代码示例展示如何定义实体配置与查询接口,用户可定制查询条件提升灵活性。此外,sv.db支持简单查询功能,虽然部分复杂功能暂未实现。详细实现可在GitHub查看源码。

PasteForm最佳CRUD实践,实际案例PasteTemplate详解之管理前端的代码(二)

https://www.cnblogs.com/pastespider/p/18434452

文章讨论了使用反射和ABPvNext的Dto实现最佳CRUD实践,通过后端控制前端。首先,打开页面后会通过API请求数据模板,获取表格页面的头部和模型属性。若有特定属性,将影响页面功能,例如禁用添加、编辑或删除按钮。获取的模型数据用于渲染页面,且数据在首次请求后可缓存。本地缓存可节省首次请求模型数据的时间。

PasteForm最佳CRUD实践,实际案例PasteTemplate详解(一)

https://www.cnblogs.com/pastespider/p/18430156

本文介绍了PasteForm组件,用于实现CRUD操作。PasteForm通过Dto思想简化了复杂系统中的管理操作,尤其适用于拥有大量数据库表的项目。它解决了字段添加、数据库表关联、权限控制等常见问题。PasteForm系统由四个基本页面组成:index.html用于管理菜单,pasteform/index.html展示数据表和操作按钮,pasteform/view.html支持数据录入与编辑,以及pasteform/detail.html用于显示详细信息。PasteForm的核心在于Dto的配置,通过定义不同的Dto模型,实现了新增、编辑、显示和列表展示的功能。组件还利用AutoMapper实现模型之间的转换,大大增加了CRUD的灵活性。

主题

macOS 15(“Sequoia”)上的证书问题 · 问题 #324 · dotnet/公告

https://github.com/dotnet/announcements/issues/324

关于macOS 15 Sequoia上操作证书出错的问题。

在 macOS 15 Sequoia 中,使用内存中密钥调用 CopyWithPrivateKey 现在会失败,这可能会导致创建/加载证书时出现异常。此问题会影响“CertificateRequest.CreateSelfSigned”和“X509Certificate2.CreateFromPem”等 API 以及使用它们的“dotnet dev-certs https”命令。

此问题计划在 10 月份发布的 .NET 6.0.34、8.0.10 和 9.0.0-rc2 中修复。

Uno Platform 5.4:性能改进和 290 多个问题已解决

https://platform.uno/blog/5-4/

Uno平台5.4已发布。

此版本包括性能改进、IRootObjectProvider 支持和其他细微改进。

文章还提到了与 Scott Plot 的集成。

发布诊断版本 - v8.0.547301 · dotnet/diagnostics

https://github.com/dotnet/diagnostics/releases/tag/v8.0.547301

.NET 诊断工具 v8.0.547301 发布。

此版本在 dotnet-symbol 中添加了对 --internal-server 标志的支持,在 dotnet-dump 和 SOS 中添加了 !setsymbolserver 命令,修复了一些错误,支持 ARM64EC,并添加了对 dotnet-counters 的基于 EventCounter 的支持包括对仅显示计数器的前缀的支持和多个错误修复。

发布版本 v2.66.0 · grpc/grpc-dotnet

https://github.com/grpc/grpc-dotnet/releases/tag/v2.66.0

grpc-dotnet v2.66.0 已发布。

此版本修复了 Wine 兼容性层下出现的问题,并添加了 HTTP 版本通道的设置。

ReSharper 2024.3 启动抢先体验计划 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2024/09/20/resharper-2024-3-eap/

ReSharper 2024.3 EAP 已发布。

此版本包括 .editorconfig 中的代码清理设置、其他命名样式、C# 格式以及与 C++ 相关的改进。

Rider 2024.3 抢先体验计划已上线!

https://blog.jetbrains.com/dotnet/2024/09/20/rider-2024-3-eap/

Rider 2024.3 EAP 已发布。

此版本包括对使用 Live++ 热重载 C++ 的支持、在 .editorconfig 中配置代码清理、添加命名样式、添加 C# 格式、改进的虚幻引擎支持等等。

CoreCLR 和 .NET 现代化 - Unite 2024 - Unity 引擎 - Unity 讨论

https://discussions.unity.com/t/coreclr-and-net-modernization-unite-2024/1519272

关于将 Unity 运行时转换为 CoreCLR 以及现代化 .NET 的进展。

文章解释说,虽然没有包含在 Unity 6 中,但向 .NET 8 及更高版本 CoreCLR 的迁移工作正在进行中,仍有优化等工作,以及迁移到 .NET 的好处,例如 IL2CPP 和 Burst 集成,它提到了与 MSBuild 的集成和代码重新加载。

文章、幻灯片等

为 .NET 9 贡献性能改进 - 小改进增加大价值

https://www.sigmact.com/updated/dotnet/net9-perf-pr/

关于通过性能改进拉取请求为 .NET 基类库做出贡献的过程和实现。

在 Visual Studio 2022 中创建 React TODO 应用程序 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/creating-a-react-todo-app-in-visual-studio-2022/

介绍在 Visual Studio 2022 中使用 React 实现 JavaScript TODO 应用的步骤。

在 C# .NET 8 中使用 AVX-512 加速财务计算

https://medium.com/@anderson.buenogod/acceleating-financial-calculations-with-avx-512-in-c-net-8-5c542fd59958

使用 AVX-512 加速 .NET 8 中的财务计算的示例。

[Azure] Windows Server 上的 .NET Core 默认情况下不会自动更新

https://zenn.dev/ohori97/articles/ad241913e4af8a

如何通过 Microsoft Update 启用 Windows Server 上安装的 .NET 自动更新。

如何按面板对 WPF Tab 键顺序进行排序 - Qiita

https://qiita.com/spc_ksudoh/items/783b571f84ad54db9054

如何通过维护 WPF 中每个面板的选项卡顺序来控制选项卡导航。

像专业人士一样组织你的断点 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/organize-your-breakpoints-like-a-pro/

引入了在 Visual Studio 2022 中分组和管理断点的功能。

.NET:2024 年的映射库

https://medium.com/@rasslabone/net-mapping-library-in-2024-cbab4312b5ae

介绍如何使用对象映射器Mapperly,并与AutoMapper进行比较。

修复 macOS Sequoia 上 .NET 中的 HTTPS 开发者证书错误

https://dev.to/michaelcharles/fixing-the-https-developer-certificate-error-in-net-on-macos-sequoia-516h

[.NET 9.0] 尝试使用 InlineArray 创建值类型列表 - Qiita

https://qiita.com/abetakahiro123/items/d3a724dba68cb16ca722

使用 InlineArray 实现可在堆栈上使用的 List 的示例。

[C#] 更改 Harmony 中的方法行为 - Qiita

https://qiita.com/radian-jp/items/ae6ca1f17071727dda8f

如何使用 Harmony 重写方法来动态修补可执行程序。

通过 Visual Studio 中的拉取请求体验提升您的协作 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/level-up-your-collaborations-with-the-pull-request-experience-in-visual-studio/

在 Visual Studio 2022 17.11 中引入与拉取请求相关的功能改进。

本文介绍了从创建拉取请求到在编辑器中显示评论的所有内容。

当你想在 WinUI3 上运行某些东西时的准备工作

https://zenn.dev/spacekey/articles/winui3-project

介绍为创建 WinUI 3 应用程序做准备的配置。

Rust 恐慌的背后,以及在 .NET 中实现它们

https://fractalfir.github.io/generated_html/rustc_codegen_clr_v0_2_1.html

关于在实现 Rust 的 CIL 后端时,panic 和 unwind 是如何工作的,以及如何在 .NET 上实现它们。

代码质量门暴君指南,包含 CSharpier、Husky.NET 和 SonarCloud

https://nikiforovall.github.io/dotnet/2024/09/14/quality-gates-dotnet.html

了解如何通过将 CSharpier、Husky.NET 和 SonarCloud 等工具合并到 CI/CD 管道中来构建代码质量关卡。

.NET 字典剖析

https://dunnhq.com/posts/2024/anatomy-of-the-dotnet-dictionary/

它详细解释了 Dictionary 的实现方式以及操作时的行为方式。

最快恢复之路-FastEnum v2.0开发奋斗故事

https://zenn.dev/xin9le/articles/2b71584e23edfd

介绍用于加速 FastEnum 的技术,FastEnum 是一个高速执行 Enum 相关操作的库。

使用 GenericHost 的 ILogger 调试下面生成日志时容易卡住的点 - Qiita

https://qiita.com/spc_ksudoh/items/3632df966f9b10ec9276

使用 GenericHost 记录器输出以下日志(例如 Trace)时,由于默认设置,输出可能不符合预期。

从头开始​​构建高性能 TCP 服务器

https://medium.com/@Alikhalili/building-a-high-performance-tcp-server-from-scratch-a8ede35c4cc2

关于使用 SocketAsyncEngine 实现快速 TCP 服务器(HTTP 心跳服务器)。

如何在 .NET 8 中创建 Windows 服务 - Qiita

https://qiita.com/spc_ksudoh/items/675b8fe5b04596763ede

使用 .NET 8 实现 Windows 服务的步骤。

本文解释了创建、安装和生命周期支持等方面。

为 C# 开发人员改进 Visual Studio 中的 GitHub Copilot 完成 - .NET 博客

https://devblogs.microsoft.com/dotnet/improving-github-copilot-completions-in-visual-studio-for-csharp-developers/

关于 Visual Studio 2022 17.11 中的 GitHub Copilot,编辑 C# 代码时获取输入完成的上下文现在包括类型、方法等,并且现在呈现更多相关结果。

多项目启动配置 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/multi-project-launch-configuration/

引入多项目启动配置文件,该配置文件已在 Visual Studio 2022 17.11 中预览。

您可以使用多项目启动配置一次启动多个项目。

本文介绍了如何设置、启动目标设置、启动配置文件等。

使用 Brotli 提升 Web 性能:.NET 压缩实用指南 Gameball 工程博客

https://engineering.gameball.co/posts/boosting-web-performance-with-brotli

了解如何将 Brotli 响应压缩与 ASP.NET Core 结合使用。

可以用作队列,具有线程安全性等的System.Threading.Channels(二)应用介绍-Qiita

https://qiita.com/spc_ksudoh/items/55f194b1c3b272f69ab9

如何在 Dequeue 期间将 System.Threading.Channels 应用于队列和处理分支。

C# 13 / .NET 9 中的新功能(截至 RC 1)

https://speakerdeck.com/nenonaninu/net-9-noxin-ji-neng-rc-1-shi-dian

  • [C#] C# 13 / .NET 9 的新功能(从 RC 1 开始) - Neno 的花园。

库、存储库、工具等。

WebAssembly 中的 Perfview 替代方案

https://techblog.criteo.com/a-perfview-alternative-in-web-assembly-f6833820b699

由 Blazor WebAssembly 提供支持的事件查看器,可用作 PerfView 的替代品。

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/.NET-Weekly
  • 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET

由于笔者没有那么多时间对国内的一些文章进行整理,欢迎大家为《.NET周刊-国内文章》板块进行贡献,需要推广自己的文章或者框架、开源项目可以下方的项目地址提交Issue或者在我的微信公众号私信。

格式如下:

  • 10~50字左右的标题
  • 对应文章或项目网址访问链接
  • 200字以内的简介,如果太长会影响阅读体验

https://github.com/InCerryGit/.NET-Weekly

.NET性能优化交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
  • .NET框架底层原理的实现,如垃圾回收器、JIT等等
  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET性能问题和宝贵的性能分析优化经验。目前一群已满,现在开放二群。

如果提示已经达到200人,可以加我微信,我拉你进群: ls1075

另外也创建了QQ群,群号: 687779078,欢迎大家加入。

image-20230703203249615

本文由博客一文多发平台 OpenWrite 发布!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/69655.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

.NET 9 RC 2正式发布

距离最终版本还有一个月的时间,Microsoft 已经交付了 .NET 9 的第二个也是最后一个候选版本。.NET 团队在公告帖子中写道[1],“当我们为 11 月的 .NET 9 正式发布 (GA) 版本做准备时,我们正在对性能、稳定性和任何其他优化进行最后的润色,使其成为 .NET 9 的最佳版本。.N…

读数据工程之道:设计和构建健壮的数据系统04数据工程生命周期(下)

数据工程生命周期(下)1. 获取 1.1. 在了解数据源、所用源系统的特征以及数据的存储方式之后,你需要收集数据 1.2. 数据工程生命周期的下一阶段是从源系统中获取数据1.2.1. 源系统和获取代表了数据工程生命周期中最重要的瓶颈1.2.2. 源系统通常不在你的直接控制范围内,可能会…

两台iStoreOS路由器通过wireguard实现异地组网

一、前言 我在家中和单位宿舍申请了两条联通千兆宽带,每条均有公网ip,如何实现更多玩法呢?最近折腾了一下异地组网,这里简单记录一下 环境:路由器A,内网ip为192.168.1.1,系统为iStoreOS, 路由器B,内网ip为192.168.0.1,系统和版本号同上 至少有一条具有公网ip的宽带,…

1panel搭建frp服务端并使用openresty反向代理实现https访问

前言 这次国庆节回老家发现家里的路由器居然是我去年带过去的斐讯K2p,已经刷了openwrt,于是想着有没有更多玩法?因为家里的宽带是移动宽带,没有公网IP,所以来折腾一下frp内网穿透。 我想实现的目标是:通过不同的三级域名,来访问不同的服务。例如,访问https://op.frp.xx…

004、v3admin学习,使用ci4搭建后端服务器

1、按照php环境和composer,输入cmd的composer命令,版本是2.7.9 2、在工作目录,输入命令行composer create-project codeigniter4/appstarter ci4 ,会全自动创建工程 3、把composer下来的文件,拷贝到外面工程中。 4、用phpstorm打开工程,更新一下依赖包 5、用小皮桌面开启p…

UNRAID下安装Virtual DSM

本文基于【完结】Virtual DSM 逆向笔记 (基于libvirt的安装及升级) (jxcn.org) 感谢chk-jxcn的分享! 一、安装镜像的准备 链接:https://pan.baidu.com/s/16I89NHPTW6TDx7ACh67yiA 提取码:7hkq 下载下来的镜像是原作者chk-jxcn(jxcn.org)从 DSM 中提取出的 VDSM 7.0 的安装镜…

house_of_muney [2023CISCN]

house_of_muney 首先介绍一下house of muney 这个利用原理: 在了解过_dl_runtime_resolve的前提下,当程序保护开了延迟绑定的时候,程序第一次调用相关函数的时候会执行下面的命令 push n push ModuleID jmp _dl_runtime_resolve 这里的n对应的是这个符号在rel.plt重定位表中…

C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式

分享删除字符串最后一个字符的多种实现方法,包括字符串、StringBuilder、Array、Linq等方式,并进行性能测试。结果显示字符串方式性能最优,但了解多种方法有助于选择最合适的方法。今天想通过和大家分享如何删除字符串最后一个字符的N种实现方法,来回顾一些基础知识点。 01…