龙空技术网

.NET周刊【2月第1期 2024-02-04】

INCerry 114

前言:

现时小伙伴们对“net重写继承方法”可能比较着重,你们都想要分析一些“net重写继承方法”的相关内容。那么小编也在网摘上汇集了一些对于“net重写继承方法””的相关文章,希望姐妹们能喜欢,咱们一起来了解一下吧!

祝大家新年快乐,龙年大吉~

国内文章C#/.NET/.NET Core优秀项目和框架2024年1月简报

本文介绍了公众号“追逐时光者”定期分享的C#/.NET/.NET Core优秀项目和框架,包括项目介绍、功能特点、使用方式和功能截图,并提供了源码地址。文章还特别推荐了三个项目:lin-cms-dotnetcore(仿掘金专栏CMS)、LKY_OfficeTools(Office自动化下载安装激活工具)和DevToys(为开发者设计的工具箱),每个项目都附有详细介绍和源码链接。

5个.NET开源且强大的快速开发框架(帮助你提高生产效率)

本文介绍了五个基于C# .NET ASP.NET的开源框架,包括中台Admin(基于.NET 8.0)、DncZeus(基于.NET 7和Vue.js)、WalkingTec.Mvvm框架(基于.net core)、OpenAuth.Net(集成多种技术)和Blog.Core(基于.NET Core 6.0和Vue 2.x)。这些框架可用于提高后台开发的效率,支持前后端分离,并集成了权限管理、任务调度等高级功能。同时,文章指出了这些项目和框架已被收录到C#/.NET/.NET Core优秀项目精选中,以及推荐了DotNetGuide技术社区交流群。

Yarp 与 Nginx性能大比拼不出所料它胜利了!

本文对比了Yarp和Nginx在Ubuntu 22.04.3 LTS系统上的性能。使用.NET 8 SDK和特定的配置文件,通过Native AOT部署了Yarp环境。同时,安装了Nginx并配置了代理服务。测试代理服务使用.NET 8 SDK创建,返回空字符串的简单接口。最后,使用runnerGo工具进行性能测试。文章提供了详细的环境搭建步骤和配置代码,以及测试工具的使用方法。

FastGateway 一个可以用于代替Nginx的网关

FastGateway是一个基于Asp.Net和Yarp的网关代理服务项目,能够实现动态加载HTTPS证书、动态路由管理、身份验证、监控、静态文件服务代理等功能。它采用前后端分离,动态管理均可通过界面操作,支持docker容器部署。FastGateway使用了如JWT和FreeSql等技术,并提供了详细的docker-compose配置指南,允许用户自定义账号密码和HTTPS证书。

【OpenVINO™】在 Windows 上使用 OpenVINO™ C# API 部署 Yolov8-obb 实现任意方向的目标检测

本文介绍了Ultralytics YOLOv8 OBB模型,这是一种基于深度学习的目标检测模型,能够检测任意方向的对象,提高了检测精度。该模型支持OpenVINO™部署工具,可加速模型推理,适用于多种硬件平台。文章还提供了项目链接,展示了如何结合OpenVINO™ C# API部署YOLOv8 OBB模型。同时,介绍了OpenVINO™ C# API的功能和优势,以及YOLOv8 OBB模型的特点和应用场景。最后,文章详细说明了模型下载、转换和部署的步骤,包括环境安装、模型导出、IR模型转换和项目配置。

一个 WPF + MudBlazor 的项目模板(附:多项目模板制作方法)

本文介绍了一个为.NET 8 + WPF + MudBlazor创建项目的模板,适用于VS2022。通过VS插件市场下载或Github源码编译,可以方便地搭建环境。模板制作包括创建项目、替换关键字和导出模板文件等步骤,通过VS的模板关键字和官方文档,可以制作出复杂的模板。

Mocha MemoryBufferQueue 设计概述

本文介绍了Mocha,一个基于.NET的APM系统,它使用MemoryBufferQueue作为内存缓冲区来处理大量数据。MemoryBufferQueue支持多Topic和Consumer Group,并发消费,批量消费,以及重试机制。Buffer模块通过接口抽象,保证了不同数据类型和Topic的BufferQueue相互独立。文章还详细描述了Buffer模块API设计和内部实现,确保了系统的灵活性和可扩展性。

.NET NativeAOT 指南

本文介绍了.NET 8发布的NativeAOT应用模型,它在编译时创建依赖图并剪裁未使用代码,但对于反射和动态泛型实例化有限制。NativeAOT通过MSBuild属性启用,但编译器无法处理运行时确定的类型,如反射创建的实例。泛型类型的动态实例化也存在问题,因为编译器无法预测所有可能的实例化。文章还提出了解决这些限制的方法。

一次人脸识别ViewFaceCore使用的经验分享,看我把门店淘汰下来的POS机改成了人脸考勤机

本文介绍了POS软件和基于人脸识别的考勤系统。POS是销售终端,能实现电子资金转账,具备消费、预授权等功能。文章提出了使用USB摄像头和改造的人脸识别程序来优化考勤系统,包括无人值守时自动关闭摄像头、记录考勤时间、同步人脸信息和取消传统的消息弹窗交互。还提供了检测键盘和鼠标无操作时间的代码,以判断是否有人使用系统。

物联网浏览器(IoTBrowser)-MQTT协议集成和测试

MQTT是一种基于客户端-服务器架构的消息发布/订阅传输标准协议,特别适合于硬件性能低、网络环境差的远程设备和应用场景。广泛应用于物联网设备之间的通信,如卫星通信传感器、医疗设备和家居自动化。本文详细描述了如何在IoTBrowser平台中集成MQTT协议,并通过创建插件的方式提供了实现MQTT服务器(broker)和客户端的具体代码示例。

体验 ABP 的功能和服务

张飞洪在文章中分享了ABP框架的使用心得,强调了它在企业解决方案中的全栈功能。文章详细介绍了如何通过ICurrentUser服务获取当前用户信息,包括用户ID、用户名和电子邮件等,并解释了如何在ABP框架中注入和使用这项服务。此外,文章还讨论了与ASP.NET Core的集成,以及如何在ABP中定义和使用自定义声明。通过实现IAbpClaimsPrincipalContributor接口,可以将自定义声明添加到身份验证票据中,以便在用户请求时使用。

【译】命名变得简单:AI 支持的重命名建议

本文介绍了Visual Studio最新预览版中的一项新功能:AI支持的重命名建议。这项功能通过分析代码风格和标识符的使用,提供与代码库匹配的命名建议,旨在提升代码的可读性和可维护性。使用时,用户只需选择标识符并执行重命名操作,即可看到个性化的建议列表。该功能需要GitHub Copilot订阅,并在Visual Studio预览版中启用。开发者社区的用户反馈将帮助改进此功能。

利用 ASP.NET Core 开发单机应用

本文讨论了分布式微服务时代下,Web应用的分布式架构和单机应用的架构设计。提出了利用ASP.NET Core的TestServer实现类C/S架构的方法,通过内存流通信,减少网络和进程间通信的开销。同时,介绍了新书《C#与.NET6 开发从入门到实践》,并分享了如何通过复制开源项目代码来增强TestServer的HttpClient功能。最后,作者开发了RedirectHandler来处理需要真实网络交互的情况,它能够处理重定向响应。

【译】2023年——社区实验的一年

本文回顾了Visual Studio社区实验的成果,这些实验旨在提升用户效率和体验。实验包括多个功能,如区分Visual Studio实例、为括号对添加颜色、文件比较、带适当缩进的复制、获取开发者新闻、环绕选择、滚动文档选项卡和图像悬停预览。部分功能已集成到Visual Studio 2022中,如为括号对添加颜色、文件比较、带适当缩进的复制、环绕选择和滚动文档选项卡。其他功能,如区分实例和获取开发者新闻,尽管受欢迎但未集成,图像悬停预览计划在未来更新中加入。社区反馈和参与对这些实验至关重要。

应用--WebApplication

本文介绍了.NET 6.0中的最小托管模型和WebApplication,它简化了Web应用的构建和配置。WebApplication通过封装主机和服务,提供了更简洁的API,如直接配置中间件和路由。构造流程包括获取WebApplicationBuilder,配置服务,构建WebApplication对象,配置中间件,运行主机。WebApplication.CreateBuilder(args)方法支持不同重载,便于根据不同需求创建WebApplicationBuilder对象。

Json Schema高性能.net实现库 LateApexEarlySpeed.Json.Schema - 直接从code生成json schema validator

本文介绍了LateApexEarlySpeed.Json.Schema库,它能从.NET类型生成JSON模式验证器。基本用法是通过JsonSchemaGenerator生成验证器实例。支持多种.NET数据类型和验证属性,如数值、字符串、枚举等。属性用法示例展示了如何通过特定属性限制数据。库默认引用类型可空,但可用NotNullAttribute指定非空。JsonRequiredAttribute和JsonIgnoreAttribute分别用于指定JSON数据中必须包含的属性和忽略的属性。还支持自定义属性名,如JsonPropertyNameAttribute和JsonSchemaNamingPolicy选项,包括驼峰、短横线、下划线等命名策略。

【OpenCV】在Linux上使用OpenCvSharp

本文介绍了OpenCV和OpenCvSharp的安装与配置。OpenCV是开源的计算机视觉库,支持多种语言和平台。OpenCvSharp是其.Net封装,适用于商业应用。文章详细说明了在Linux上使用C#和Visual Studio Code设置项目环境,创建控制台项目,添加Nuget包,以及安装依赖项目的步骤。通过这些步骤,可以确保项目包含必要的配置文件和依赖项,为使用OpenCV做好准备。

WPF性能优化:形状(Shape)、几何图形(Geometry)和图画(Drawing)的使用

本文讲述了WPF中绘图的核心概念,包括形状(Shape)、几何图形(Geometry)和图画(Drawing)。形状是UI元素,可直接绘制且支持事件,但资源占用较多。几何图形定义了图形轮廓,需与Path结合使用,更轻量。图画在几何图形基础上增加了样式细节,也需结合使用。形状如直线、矩形、椭圆、多边形等,通过属性定义样式和尺寸。几何图形的子类如LineGeometry、RectangleGeometry等,与对应形状相似,但使用时需嵌入Path中。GeometryGroup和CombinedGeometry允许组合多个几何图形,StreamGeometry提供了一种性能优化的选择。通过这些工具,WPF能够创建丰富的2D图形和图像。

XmlDocument 解决 Clone、CloneNode、ImportNode 等节点克隆后的标签自闭合问题

本文讲述了在对Taurus.Mvc进行HTML加载性能优化时遇到的问题。原先使用XmlDocument的LoadXml方法缓存和加载XML,但优化过程中发现使用Clone和CloneNode方法可以提升性能。然而,这些方法会导致空的div标签自闭合,特别是在.NET环境下。解决方案是通过继承XmlDocument并重写CreateElement方法,以确保标签不自闭合。尽管网上缺乏解决方案,但通过研究.NET源码找到了解决方法。

物联网浏览器(IoTBrowser)-Modbus协议集成和测试

本文介绍了Modbus协议在IoTBrowser中的应用,通过串口插件模式与PLC或硬件设备通讯。文章详述了如何开发ModbusRtu和ModbusTcp插件,包括添加NModbus4等引用,并展示了ModbusRtuCom类的初始化过程,实现了与Modbus的通讯控制。

通过Demo学WPF—数据绑定(二)

本文介绍了如何在Data Binding中使用Linq创建Demo。首先创建空白解决方案,添加Linq项目,然后通过XAML代码定义窗口资源,包括Tasks对象和DataTemplate。DataTemplate用于设置任务展示模板,Tasks对象存储任务数据。通过键"MyTodoList"引用Tasks对象,实现数据与界面的绑定。最后,通过XAML元素<Window.Resources>定义资源字典,方便在窗口中重用资源。

主题使用 SignalR 和其他开源工具构建人工智能驱动的 Microsoft Copilot - .NET 博客

了解使用 SignalR 和其他开源工具构建的 Microsoft Copilot。

使用SignalR建立低延迟通信通道使用自适应卡和 Markdown 编写 UI申请流程深入探讨:我们如何使用 SignalRMicrosoft Office 的 RTC(实时通道)迁移到现代 .NET - .NET 博客

将 Microsoft Office 的实时通道 (RTC) 迁移到现代 .NET 的案例研究。

本书介绍了一个案例研究,其中用于 Office 应用程序中实时协作的基于 WebSocket (SignalR) 的服务从 .NET Framework 4.7.2 迁移到 .NET。

该公司声称迁移的结果是:“CPU 减少 30%”、“VM 成本减少 30%”、“内存和 GC 时间减少 60%” ”和“主要 API 的延迟减少了 50%”。

迁移涉及到迁移 ASP.NET 的 HTTP 模块和处理程序,确保 ASP.NET SignalR 和 ASP.NET Core SignalR 之间的兼容性,这些问题通过中间件得到了解决,以及迁移后出现的 IIS CPU 使用率问题。 SignalR Core 的 CPU 使用率过高以及如何处理。

其他主题包括使用事件计数器跟踪指标、部署到生产的结果以及未来的前景。

Uno Platform 5.1:面向 Rider 和 VS Code 用户的实时向导、新控件、性能改进等。

Uno平台5.1已发布。

此版本为 Rider 和 Visual Studio Code 用户提供了一个向导,用于生成“dotnet new”命令来创建新项目,引入了 TimePicker 控件,提高了性能,减少了 .csproj 占用空间,并引入了 Uno Toolkit。包括更新和删除.NET 7 对 Uno 扩展的支持。

发布 5.1.31 · unoplatform/uno介绍 MSTest Runner - CLI、Visual Studio 等 - .NET 博客

发布并推出 MSTest Runner,这是一个用于运行 MSTest 的轻量级工具。

MSTest Runner 的优点是能够独立运行,可以更轻松地在不包含运行时的环境中运行测试,并且占用空间较小。

NuGetSolver 简介:用于解决 Visual Studio 中 NuGet 依赖关系冲突的强大工具 - NuGet 博客

隆重推出 NuGetSolver,这是一个用于解决 NuGet 版本冲突的工具。

NuGetSolver 是与 Microsoft Research 合作开发的 Visual Studio 扩展,可自动解决 NuGet 依赖项中的版本冲突。

本文还介绍了如何安装它,以及使用它时的注意事项和限制。

Godot 4.2 中 C# 平台支持的当前状态

Godot 4.2 中 C# 平台支持的当前状态。

支持(每个平台的导出)如下。- 从 .NET 7 开始,Mono 支持 Android 导出

通过实验性 NativeAOT 导出 iOS .NET 8 支持目前不支持Web导出Godot 4.0 支持所有桌面导出(包括适用于 .NET 7 及更高版本的 NativeAOT)版本 1.5 Experimental (1.5.0-experimental2) - Windows App SDK 实验发布通道 - Windows 应用

Windows App SDK 1.5.0-experimental2 已发布。

此版本修复了多个错误并添加了新的 API,包括与地图相关的 API。

发布稳定版 v5.1.5 · dotnet/SqlClient

Microsoft.Data.SqlClient v5.1.5 已发布。

此版本修复了多个错误。

Rider 2024.1 路线图 | .NET 工具博客

Rider 2024.1 路线图。

用户体验/用户界面调试器改进Blazor WASM 应用程序的稳定调试体验Blazor 上的热重载步骤执行时间和数据收集的可视化工具内联断点改进了运行到光标嵌入选项游戏开发Unity虚幻引擎GodotWeb开发改进了 MAUI 支持人工智能助手智能拼写检查器在容器和远程环境中执行单元测试和我一起编码(测试版)ReSharper 2024.1 路线图 | .NET 工具博客

ReSharper 2024.1 路线图。

默认预测调试模式进程外更新Web开发在容器和远程环境中执行单元测试人工智能助手其他计划文章、幻灯片等如何将 .NET Aspire 应用程序部署到 Azure 容器应用程序 - .NET 博客

创建 .NET Aspire 应用程序并将其部署到 Azure 容器应用程序的简单分步指南。

调试器的关注点:一年回顾 - Visual Studio 博客

Visual Studio 2022 2023 年提供的新的调试相关功能的总结和介绍。

加速内循环生产力断点组增强的文本可视化工具非模态可视化工具调用堆栈搜索改进的并行堆栈窗口永久重新连接到调试器进程CMake调试器使外部源代码更智能、更快速跨平台调试支持使用 Visual Studio 集成终端调试 Linux 应用程序部署和调试到远程目标额外的 Linux 调试功能性能升级.NET9 Alpha - LINQ 更新

介绍将添加到 .NET 9 中的 LINQ 的 CountBy 和 AggregateBy 运算符。

.NET NativeAOT 指南

处理 NativeAOT 时应注意和应对的指南。

了解 C# 8 默认接口方法

C# 8 默认接口实现的说明。关于可以做什么以及可能出现什么问题。

使用 dotnet-script 执行/调试 C# 脚本 - Qiita

关于使用 dotnet-script 运行和开发 .csx(C# 脚本)。

您应该了解的 JetBrains Rider 中的 12 种调试技术 | .NET 工具博客

介绍 JetBrains Rider 的 12 种调试技术。

内联监控返回值智能单步调试断点选项拖动执行指针调试外部反编译代码异常断点运行和调试静态方法编辑并继续内存视图线程特定的断点调试器显示属性支持奖励:预测调试器代码审查和时间旅行

回顾一下RavenDB开发过程中学到的代码审查。

.NET 8 中 BinaryFormatter 的替代品

引入序列化器作为过时的 BinaryFormatter 的迁移目标。

.NET 性能分析:.NET 8 中的 Newtonsoft.Json 与 System.Text.Json

Newtonsoft.Json 和 System.Text.Json 之间的简单序列化/反序列化性能比较。

在 WinUI 3 应用程序中利用 WinForms 功能

有关在基于 WinUI 3 的应用程序中使用 Windows 窗体功能的说明。

【C#程序】EnityFramework Core枚举一百万条数据库记录消耗多少内存? | @jsakamoto

使用 Entity Framework Core 枚举(查找)100 万条记录时大约使用多少内存。

我在 rustc_codegen_clr 上的工作经历 - 半年回顾

generated_html/rustc_codegen_clr_v0_1_0.html

回顾我花在实现 Rust 的 MSIL 后端的六个月时间。比如什么样的项目,有什么样的障碍。

使用 ASP.Net+Swagger+TypeScript 自动生成 Enum 显示名称

- Cheng-suru-1hoh

使用 ASP.NET Core 和 Swagger 从 OpenAPI 架构生成 TypeScript 代码时,如何处理枚举名称混乱的问题。

如何开始使用 .NET Aspire 和 Sekiban 创建应用程序

有关通过结合 .NET Aspire 和独特的事件源框架来创建使用 Cosmos DB 作为数据存储的应用程序的说明。

使用 GitHub Copilot 的新功能更快更好地编写代码:斜线命令和上下文变量 - Visual Studio 博客

介绍 Visual Studio 中 GitHub Copilot 的新功能。

斜线命令上下文变量预览功能调试器中的异常助手断点表达式建议提交消息建议解决方案参考性能分析器中的建议失败测试分析在 C# 中取消数组 (Span) 的移位可以吗? - Qiita

如果您编写的代码在不移动跨度时导致重叠,会发生什么情况,以及 Unity/IL2CPP 会发生什么情况...

.NET 垃圾收集的工作原理

介绍 .NET 垃圾收集的工作原理。

库、存储库、工具等。NuGet 库 | PlantUmlClassDiagramGenerator.SourceGenerator

生成 PlantUML 类图的源生成器。

使用 Source Generator 从 C# 源代码生成 PlantUML 类图 - Qiita网站、文档等推文

关于 Silverlight Toolkit 示例如何与 OpenSilver 几乎一样工作的故事。

image-20240210205841934

深入探索史诗:.NET 9 中的 IDistributedCache 更新 · 问题 #53255 · dotnet/aspnetcore

分散高速缓存。NET9中更新的Issue。

.NET 9 中剩余 AssemblyBuilder.Save 工作的跟踪问题 · 问题 #92975 · dotnet/runtime

面向.NET9的AssemblyBuilder.Save()问题。

版权声明国内板块由 InCerry 进行整理 : 其余内容来自 Myuki WeekRef,由InCerry翻译(已获得授权) :

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

格式如下:

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

标签: #net重写继承方法