龙空技术网

.NET周刊【10月第3期 2023-10-22】

INCerry 82

前言:

现时看官们对“aspnet取字符的个数”大致比较珍视,我们都想要学习一些“aspnet取字符的个数”的相关文章。那么小编同时在网络上网罗了一些有关“aspnet取字符的个数””的相关文章,希望小伙伴们能喜欢,我们快快来了解一下吧!

国内文章.NET 8 RC 2 发布,将在 11 月 14 日发布正式版

微软于 2023 年 10 月 10 日发布了.NET 8 RC 2,预计在下个月的 Net Conf 2023 期间正式发布.NET 8。.NET 8 的所有主要新功能已经推出,开发团队将在接下来的一个月内主要专注于改进功能和修复错误。此外,Tiobe 编程语言排行榜显示,C#的上升趋势明显,预计在大约两个月内将超过 Java。.NET 团队还在官方博客上发布了一系列文章,介绍.NET 8 框架以及相关的 ASP.NET Core、MAUI、EF Core、Visual Studio 2022 17.8 的功能特性。

OpenTelemetry 学习笔记-Trace

文章是关于 OpenTelemetry 的学习笔记,主要介绍了以下内容:

OpenTelemetry 是一个可观测性的框架和工具包,目的是创建和管理遥测数据,如 traces、metrics 和 logs。OpenTelemetry 有两个重要的优势:你可以拥有自己生成的数据,而不是被专有数据格式或工具;你可以学习一组 API 和约定。OpenTelemetry 中 trace 表示一组有序的事件,描述了分布式系统中一个操作的生命周期。每个 trace 由一系列的 span 组成,每个 span 描述了一个子任务或步骤。OpenTelemetry 中 resource 描述了程序正在消费的物理和虚拟信息结构,包括一些基本信息和配置设置。OpenTelemetry 提供了一套通用的 server attributes,用于描述服务端的属性。.NET 静态代码织入——肉夹馍(Rougamo)发布 2.0

"肉夹馍"是一种实现 AOP 的组件,主要特点是在编译时完成 AOP 代码织入,减少应用启动的初始化时间,提高服务可用性,还能对静态方法进行 AOP。2.0 版本推出了新功能,包括部分织入,用户可以根据需要选择使用的功能,避免无形中增加目标程序集的大小,提高运行效率。例如,如果只想在方法执行成功或失败时执行日志操作,不需要重写参数、修改返回值或处理异常,可以通过重写 Features 属性来选择使用到的功能。

.NET 高性能开发-位图索引(一)

本文主要讨论了如何使用.NET 构建内存位图索引优化搜索引擎计算速度。以机票搜索为例,由于航班数据量大且实时变动,传统数据库无法满足实时搜索需求。业界解决方案是将数据加载到内存进行计算,但如何在短时间内处理大量数据仍是挑战。文章提出了使用位图索引的方法,通过构建和使用位图索引,可以优化搜索引擎的计算速度。文章还将深入讨论位图索引的性能,如何通过 SIMD 加速位图索引的计算,以及构建高效的 Bitmap 内存索引库等问题。

WPF 笔迹算法 从点集转笔迹轮廓

本文介绍了笔迹算法,这是一种基础数学算法,可以将用户输入的点集(如鼠标轨迹点或触摸轨迹点)转换为可在界面上绘制显示的笔迹画面。虽然本文以 WPF 的笔迹算法为例,但其基础数学计算理论上适用于任何支持几何绘制的 UI 框架。文章从简单到复杂描述了笔迹算法,包括最简单的笔迹轨迹算法,即通过创建一条几何图形(如折线)来构建笔迹轨迹。

【源码解读(一)】EFCORE 源码解读之创建 DBContext 查询拦截

本文主要讲解了 EFCore 源码的一些关键部分。首先,文章解释了 AddDbContext 的作用,它是 EFCore 提供的几种扩展方法之一,用于设置 DbContext 和 DBContextOption 的生命周期。如果 DBContext 的生命周期是单例,Option 的生命周期也应设置为单例。如果设置 Option 的委托不为空,那么 DBContext 的构造函数必须有一个参数。此外,文章还介绍了如何在 EFCore 的服务中获取 Web 注入的服务,拦截查询的方式,使用缓存查询方法提升性能,以及如何托管 EFCORE 的 IOC 容器等内容。

使用 OpenTelemetry 构建 .NET 应用可观测性(4):ASP.NET Core 应用中集成 OTel

本文介绍了如何在 ASP.NET Core 应用中集成 OTel SDK,并使用 elastic 构建可观测性平台展示 OTel 的数据。elastic 提供了一套完整的可观测性平台,并支持 OpenTelemetry protocol (OTLP)协议。elastic apm 部署相对复杂,可以参考 elastic 的官方文档进行部署或直接购买 elastic cloud。为了方便学习,作者提供了一个 elastic 的 docker-compose 文件,包含了 elasticsearch、kibana、apm-server 和 fleet-server 等组件。启动完成后,还需要一些配置才能启用 apm-server。

4 款.NET 开源的 Redis 客户端驱动库

本文推荐了四款.NET 开源免费的 Redis 客户端驱动库。Redis 是一个开源的 NoSQL 数据库。NewLife.Redis 是一个以高性能处理大数据实时计算为目标的 Redis 客户端组件,支持.NETCore/.NET4.0/.NET4.5。csredis 是.NET Core 或.NET Framework 4.0+的 Redis 客户端,支持同步和异步客户端。FreeRedis 是基于.NET 的 Redis 客户端,支持.NET Core 2.1+、.NET Framework 4.0+以及 Xamarin。StackExchange.Redis 是一个基于.NET 的高性能 Redis 客户端,提供了完整的 Redis 数据库功能支持,并且具有多节点支持、异步编程模型、Redis 集群支持等特性。此外,还介绍了 DotNetGuide 技术交流群,提供.NET 开发者分享自己优质文章的群组和获取更多全面的 C#/.NET/.NET Core 学习资料、视频、文章、书籍,社区组织,工具和常见面试题资源。

.NET 微服务系列之 Saga 分布式事务案例实践

本文主要分享了使用 Wing 进行 Saga 分布式事务的实践案例,以“跨行转账”为例。假设有“中国农业银行”和“中国工商银行”的账户,需要从农业银行转账 1000 元到工商银行。这个过程被分为两个事务单元处理:1. 当前账户扣减 1000 元,定义一个事务单元的数据传输模型和实现类。如果事务策略是“向前恢复”,则只需实现“Commit”方法,否则还需实现“Cancel”方法。

.NET 8 候选版本 2 (RC2) 现已可用

".NET 8 候选版本 2 (RC2)已经发布,包含了许多 ASP.NET Core 的新改进。这是今年晚些时候发布的最终.NET 8 版本之前的最后一个候选版本,大部分计划中的功能和更改都已包含在此版本中。新功能包括服务器和中间件的 HTTP 日志扩展性和更新到 IdentityModel 7x,API 创作中的表单文件支持,SignalR 的 Typescript 客户端有状态重新连接支持,以及 Blazor 的多项改进。要开始使用.NET 8 RC2 中的 ASP.NET Core,需要安装.NET 8 SDK。如果在 Windows 上使用 Visual Studio,建议安装最新的 Visual Studio 2022 预览版。如果使用的是 Visual Studio Code,可以尝试新的 C# Dev Kit。"

Util 应用框架 7.x 来了

Util 是一个.Net 平台的应用框架,旨在提升中小团队的开发能力。最新版本 7.x 与.Net 最新稳定版本同步更新,代码经过完全重写,提升了模块化程度,增加了对本地化、多租户等需求的支持。Util 使用 NgZorro 作为 UI 基础组件库,封装了 NgZorro 绝大部分组件,并对常用功能进行扩展。新版本还集成和封装了 Dapr 微服务框架的几个常见构造块,并开发了基于 Razor 引擎的简易代码生成器。Util 的所有项目发布时会在 Github 和 Gitee 进行同步更新。

Bridge 桥接模式简介与 C# 示例【结构型 2】【设计模式来了_7】

本文介绍了桥接模式,这是一种结构型设计模式,通过将抽象与实现分离,实现松耦合。桥接模式可以使抽象和实现独立扩展,不会相互影响。例如,学生和餐品可以看作两个变化的类,老师就像桥接模式中的桥,学生想吃什么套餐,可以通过老师来对应到具体的套餐类别。桥接模式的优点包括分离抽象接口及其实现部分,提高系统的可扩展性,减少子类的个数。但使用桥接模式会增加系统的理解与设计难度,且使用范围具有一定的局限性。在游戏开发、网络编程、图形界面开发等场景中,桥接模式都有实际应用。

Semantic Kernel .NET SDK 的 v1.0.0 Beta1 发布

Semantic Kernel(SK)是一个开源的 SDK,将大型语言模型与流行的编程语言相结合,支持 Java、Python 和 C#。它提供了添加内存和 AI 服务的连接器,支持来自不同提供商的插件,简化了 AI 服务的集成。SK 的.NET SDK 的 v1.0.0 Beta1 已发布,包括多项更改和改进,如将包和类从“技 kill”重命名为“插件”,添加对多个 AI 模型的支持,重构规划器和内存配置等。如果需要从 0.24 版本升级到 v1.0.0 Beta1,需要更新 NuGet 包和代码。此外,本文还介绍了如何简单地开始使用 Semantic Kernel。

轻量通讯协议 --- MQTT

本文介绍了 MQTT(Message Queuing Telemetry Transport),这是一种轻量级的消息传输协议,常用于物联网和传感器网络中的通信。MQTT 的特点包括轻量级、发布/订阅模型、可靠性、持久会话、QoS(Quality of Service)和适应性。MQTT 还提供了 QoS 机制,以确保消息的可靠传递。此外,文章还介绍了 MQTTnet,这是一个开源的、基于 MQTT 的通信的高性能.NET 库。最后,文章介绍了 Windows 下的 MQTT 消息服务器的安装使用,包括 Mosquitto 和 EMQX 两种常见的 MQTT 服务器软件。

Skywalking APM 监控系列(一丶.NET5.0+接入 Skywalking 监听)

本文主要介绍了 Skywalking 的使用和部署。Skywalking 是一款分布式链路追踪组件,用于解决微服务架构中的问题,如服务故障定位、响应延迟原因分析、性能瓶颈定位等。Skywalking 具有多种监控手段,支持多语言,轻量高效,模块化,并提供优秀的可视化解决方案。文章还详细介绍了如何通过 Docker 部署 Skywalking 和 ES 数据库。

C#学习笔记--复杂数据类型、函数和结构体

本文介绍了 C#的复杂数据类型,包括枚举、数组和结构体。枚举是整型常量的集合,可以方便表示对象的各种状态,例如怪物的种类、玩家的动作状态等。数组是存储同一种特定变量类型的有序数据集合,可以是一维数组或多维数组。结构体是任意变量类型的数据组合成的数据块。这些复杂数据类型在编程中有广泛的应用,可以提高代码的可读性和可维护性。

Asp-Net-Core 开发笔记:EFCore 统一实体和属性命名风格

本文介绍了如何在 C#和数据库中实现命名风格的转换。在 C#编码规范中,类和属性使用大写驼峰命名,而数据库通常使用小写蛇形命名。FreeSQL 内置了命名风格转换功能,可以实现 PascalCase 到 snake_case 的转换。而 EFCore 没有这个功能,需要我们自行实现。我们可以使用正则表达式来实现这个功能,写一个扩展方法,该方法会在每个小写字母/数字与大写字母之间添加下划线,并把整个字符串转换为小写。然后,我们可以重写 DbContext 的 OnModelCreating 方法,对表名、列名、key、index 的名称做转换。

使用 Docker buildx 为 .NET 构建多平台镜像

.NET 团队的博客介绍了如何使用 Docker 的 buildx 工具在.NET 7 以上的平台上构建多平台镜像。buildx 是 Docker 的一个构建工具,可以快速、高效地构建 Docker 镜像,并支持多种平台的构建。用户可以在单个命令中构建多种架构的镜像,例如 x86 和 ARM 架构,而无需手动操作多个构建命令。buildx 还支持 Dockerfile 的多阶段构建和缓存,这可以大大提高镜像构建的效率和速度。要使用 buildx,需要 Docker Engine 版本号大于等于 19.03。使用 buildx 构建跨平台镜像,需要先创建一个 builder。然后,可以使用一条命令构建跨平台镜像。

Composite 组合模式简介与 C# 示例【结构型 3】【设计模式来了_8】

本文介绍了组合设计模式,这是一种针对树形结构的设计模式,所有节点实现同一接口,具有相同的操作,可以遍历全部节点。组合模式通过树形结构组合对象,表示部分和整体层次,属于结构型模式,多用于递归。优点包括高层模块调用简单,节点自由,简化了客户端代码。缺点包括叶子节点可能继承不需要的方法,组合类的引用开销可能大,需要运行时判断特殊组件。适用场景包括客户端可以忽略组合对象与单个对象的差异,以及对象层次具备整体和部分,呈树形结构。最后,文章提供了一个代码示例来解释这个概念。

OpenSSL 生成 RootCA (根证书)并自签署证书(支持 IP 地址)

本文介绍了如何在 Ubuntu 22.04 机器上生成 HTTPS 证书。首先,生成根 CA 的私钥和证书。然后,为特定 IP(例如 10.12.0.2)生成私钥和证书请求文件。接着,创建证书扩展文件以确保签名的证书能用作服务器身份验证。最后,使用根 CA 的证书为特定 IP 签名证书。此外,还介绍了如何在 Ubuntu、CentOS 和 Windows 上信任根 CA 的证书,以及如何在 ASP.NET CORE 应用中使用生成的证书。

为.NET 打开新大门:OpenVINO.NET 开源项目全新发布

本文介绍了 OpenVINO.NET 开源项目的全新发布。OpenVINO 是 Intel 开发的一款开源工具包,用于优化深度学习模型并进行推理部署,支持跨不同的 Intel 硬件平台。然而,对于.NET 世界来说,OpenVINO 的 C API 并没有一个合适且高质量的封装,因此作者开发了 OpenVINO.NET 项目。使用 OpenVINO.NET 的最简单方法是使用作者发布的 NuGet 包,包括 Sdcb.OpenVINO 和 Sdcb.OpenVINO.runtime.win-x64 等。作者还发布了一个基于 Linux 的镜像 sdflysha/openvino-base,用于减轻部署压力。

详解.NET 依赖注入中对象的创建与“销毁”

本文主要介绍了 DI 容器如何创建和销毁对象。DI 容器可以注册类型并创建其实例,如果类型实现了 IAsyncDisposable 或 IDisposable 接口,DI 容器还会在适当的时候调用对象的 DisposeAsync 或 Dispose 方法。文章详细解释了 DI 容器中类的三种生命周期:Singleton(单例)、Scoped(局部单例)和 Transient(每次都创建新对象)。在 ASP.NET CORE 中,每次请求会创建一个 Scope,生命周期为 Scoped 的类在一次请求中只会创建一次。最后,文章深入探讨了 ServiceProvider 类在对象创建和销毁过程中的关键作用。

【分段传输】c#使用 IAsyncEnumerable 实现流式分段传输

本文主要讨论了使用 C#的 IAsyncEnumerable 和 ajax 实现流式传输的方法。在使用 SSE 进行流式传输时,存在连接独占和数据格式固定的问题。而使用 C#的 IAsyncEnumerable 可以解决这些问题,但返回的数据是在之前返回的基础上进行累加,需要自己处理。文章中提供了一个使用 ajax 实现的例子,通过监听请求的进度,可以获取到每一次写了哪些东西,从而实现流传输。同时,群友也提供了 fetch 的实现代码。

VS Code C# 开发工具包正式发布

微软正式发布了 Visual Studio Code C#开发工具包,经过四个月的测试和调整,修复了 350 多个问题,并进行了 300 多项改进。C#开发工具包旨在提高在 VS Code 中使用 C#的工作效率,它与 C#扩展协同工作,打造了一个高性能、可扩展且灵活的工具环境。该工具包由一组 VS Code 扩展组成,提供丰富的 C#编辑体验、AI 驱动的开发、解决方案管理和集成测试。C#开发工具包的发布,提升了.NET 的开发和工作效率。

Avalonia 实现视频聊天、远程桌面(源码,支持 Windows、Linux、国产 OS)

本文介绍了基于.NET Core 的跨平台 UI 框架 Avalonia,它可以运行在任何支持.NET Core 的平台上,包括 Windows 和 Linux 等。作者以一个视频聊天的 Demo 为例,展示了 Avalonia 的应用,该 Demo 支持视频聊天和远程桌面功能。用户可以向其他在线用户发送视频聊天或远程桌面请求,接受或拒绝其他用户的请求,开启视频聊天或远程桌面连接,也可以主动断开连接。该 Demo 的开发环境包括 Visual Studio 2022,.NET Core 3.1 和 C#语言。

字符串 - 不可变性与驻留池

本文主要讨论了字符串的性能优化,特别是 StringBuilder 和字符串驻留池的使用。StringBuilder 由于其可变性,可以在原地修改字符串,避免了频繁的内存分配和回收,提高了性能。而字符串驻留池则是一种内存管理机制,它存储了字符串字面值的唯一实例,减少了内存使用并提高了性能。字符串的不可变性使得多个字符串字面值可以共享相同的内存实例,节省内存。此外,字符串驻留池的存在还带来了内存节省、性能提升、可靠性和代码简化等优点。

如何通过 SK 集成 ChatGPT 实现 DotNet 项目工程化?

本文介绍了如何实现智能助手服务的天气插件。首先,我们需要了解 SemanticKernel,它是一个 SDK,将大型语言模型与传统编程语言集成在一起。然后,我们需要在项目中添加 IKernel,OpenAIOptions.Model 和 OpenAIOptions.Key。在项目中,我们还有一个 plugins 文件夹,这是提供的插件目录。在 BasePlugin 目录下,有一个识别意图的插件。此外,config.json 对应当前插件的一些参数配置,skprompt.txt 则是当前插件使用的 prompt。最后,我们需要注入 IKernel。

[MAUI]深入了解.NET MAUI Blazor 与 Vue 的混合开发

本文介绍了如何在.NET MAUI 中结合 Vue 进行混合开发,使得开发者可以使用熟悉的 Vue 语法,而无需重写现有项目。文章详细阐述了如何创建 MAUI 项目和 Vue 应用,并将 Vue 作为 MAUI 的一部分,使得在 MAUI 项目中可以直接使用 Vue。同时,Vue 的渐进性特性使得开发者可以根据需要逐步使用其框架特性。此外,文章还介绍了如何使用 element-ui 组件库,以及 JavaScript 和原生代码的交互方式。

记一次 .NET 某新能源检测系统 崩溃分析

本文描述了一位朋友的程序偶尔会崩溃,作者使用 WinDbg 工具进行分析。通过命令!analyze -v,作者发现崩溃点异常,且异常状态80000004在微软官方文档中显示为单步跟踪造成,这是作者首次遇到的情况。尽管自动化分析的信息不尽人意,但作者根据经验,查看了异常前的状态,寻找新的线索。

通过 Radius 实现 Dapr 云原生应用程序开发协作

微软 Azure 孵化团队推出了名为 Radius 的新开放应用程序平台,这是一个开源项目,支持在私有云、Microsoft Azure 和 Amazon Web Services 上部署应用程序。该团队还推出了多个流行的开源项目,如 Dapr、KEDA 和 Copacetic,这些都是云原生计算基金会(CNCF)项目。Dapr 是一个分布式应用程序运行时,为开发现代应用程序提供了新方法,可以安装在任何可以运行 Docker 的计算机上。然而,基于 Dapr 开发的应用程序的构建、管理和运营存在挑战。为此,微软 Azure 孵化团队发布了 Radius,该平台将应用程序置于每个开发阶段的中心,重新定义应用程序的构建、管理与理解方式。

探究 - C# .NET 代码混淆/加壳

本文介绍了如何使用 Obfuscar 工具进行.NET 代码混淆。首先,通过 NuGet 在项目中安装 Obfuscar。然后,找到 Obfuscar.Console.exe 并将其复制到需要加密的文件夹中。最后,创建一个名为 Obfuscar.xml 的文件,设置相关参数,如输入路径、输出路径和是否保留公共 API 等。通过这种方式,可以有效地保护.NET 代码,防止被轻易阅读和修改。

IL 编织器 - Fody

"Fody"是一个用于.NET 程序集的可扩展工具,它可以在构建过程中操纵程序集的中间语言(IL)。Fody 通过可扩展的插件模型消除了大量需要了解 MSBuild 和 Visual Studio 的 API 的底层代码。Fody 使用 Mono.Cecil 和基于插件的方法在编译时修改.NET 程序集的 IL,不需要额外的安装步骤来构建,不需要部署运行时依赖项。此外,基于 Fody 库,诞生了许多插件库,如 AutoProperties.Fody,PropertyChanged.Fody,InlineIL.Fody 等,为用户提供了更多的功能和便利。

.NET 开源简单易用、内置集成化的控制台、支持持久性存储的任务调度框架 - Hangfire

本文介绍了.NET 开源任务调度框架 Hangfire。Hangfire 是一个简单易用的库,可以在.NET 应用程序中执行后台的、延迟的和定期的任务,无需使用 Windows 服务或任务计划程序。它具有简单易用、可靠性强、高性能、扩展性好、持久化存储、任务监控和多种任务类型支持等特点。Hangfire 可以与 Redis、SQL Server、SQL Azure 和 MSMQ 集成,提供了多种持久化存储方案。此外,Hangfire 还提供了多种监控工具,可以实时查看任务的执行情况、错误信息、性能指标等。

Util 应用框架 Web Api 开发环境搭建

本文主要介绍了如何使用 Util 应用框架开发项目,包括搭建开发环境和安装 Visual Studio 企业版。首先,需要安装 Windows 10 或以上版本的操作系统,然后下载并安装 Visual Studio 企业版,过程中需要联网。安装完成后,需要重启电脑。然后,打开 Visual Studio,创建一个 Web Api 项目,以验证 Visual Studio 是否安装成功。在创建项目时,选择 ASP.NET Core Web API 项目类型,框架选择.Net 7.0。

C# 实现 MD5 加密

本文介绍了在 C#中使用 MD5 进行数据加密的方法。MD5 是一种 hash 算法,可以对任意长度的数据进行加密,生成固定长度的消息摘要,且加密结果不可逆。在 C#中,可以使用 MD5CryptoServiceProvider 和 MD5 两种类型进行 MD5 加密,但在.NET6 及以上版本中,MD5CryptoServiceProvider 已过时,建议使用 MD5。加密后的数据可以通过 BitConverter 方法或循环字节数组转成字符串的方式转换为 32 位数字和字母组成的字符串。此外,文件、图片等其他数据也可以转换成字节数组进行加密。完整的帮助类已上传至 Gitee,可供下载使用。

再学 Blazor - 扩展方法

本文主要介绍了 Blazor 组件的扩展方法实现思路。扩展方法是 C#类型添加新方法的一种方式,可以对任何类型进行扩展,只需新建一个扩展类型。扩展方法需要添加扩展类和方法,都必须声明 static 修饰符,方法的第一个参数必须是扩展类型,并有 this 关键字。文章还介绍了如何扩展 HTML 元素和自定义组件,以及如何使用 RenderTreeBuilder 的原生方法。最后,文章提供了一个 HTML 元素扩展类的代码示例,用于扩展 HTML 元素。

一款简单漂亮的 WPF UI - AduSkin

本文推荐了一款简单漂亮的 WPF UI 库——AduSkin。WPF 是一个强大的桌面应用程序框架,用于构建具有丰富用户界面的 Windows 应用。AduSkin 是一款融合多个开源框架组件的 WPF UI,为个人定制的 UI,可供学者参考和使用。在 Nuget 搜索"AduSkin"即可直接导包使用。更多项目实用功能和特性,可以前往项目开源地址查看。此外,该项目已被收录到 C#/.NET/.NET Core 优秀项目和框架精选中。

主题.NET 2023 年 10 月更新 – .NET 7.0.12、.NET 6.0.23 - .NET 博客

.NET 7 和 6 的 2023 年 10 月更新已发布。

此版本包括多个错误修复和改进以及三个安全修复。

CVE-2023-44487 – .NET 拒绝服务漏洞ASP.NET Core Kestrel Web 服务器中的拒绝服务漏洞允许恶意客户端引发精心设计的 HTTP/2 请求。Microsoft 安全通报 CVE-2023-44487:.NET 拒绝服务漏洞 · 问题 #277 · dotnet/announcements[1]CVE-2023-38171 – .NET 拒绝服务漏洞MsQuic.dll 中的空指针拒绝服务漏洞CVE-2023-36435 – .NET 拒绝服务漏洞MsQuic.dll 中的内存泄漏拒绝服务漏洞宣布 .NET 8 候选版本 2 - .NET 博客

.NET 8 候选版本 2 已发布。

.NET 库包自述文件MSBuild+ 基于 CLI 的简单项目评估SDK 容器发布:发布到 tar.gz 存档.NET 的张量基元简介.NET 8 候选版本 2 中的 ASP.NET Core 更新 - .NET 博客

关于使用 .NET 8 候选版本 2 更新 ASP.NET Core。

服务器和中间件HTTP 日志记录可扩展性更新到 IdentityModel 7xAPI 编写支持具有新表单绑定的表单文件SignalR对 TypeScript 客户端的状态重新连接支持Blazor与 Blazor Web Apps 的全球交互Blazor WebAssembly 模板更新文件范围@rendermode Razor 指令增强的导航和表单处理改进当交互式服务器组件消失时连接断开改进的表单模型绑定将 HttpContext 作为级联参数访问Blazor Web 应用程序中的持久组件将密钥服务注入组件支持对话框取消和关闭事件错误页面支持身份Blazor 身份用户界面单页应用程序(SPA)从命令行运行新的 SPA 模板EF Core 8 候选版本 2:EF8 中的较小功能 - .NET 博客

介绍 Entity Framework Core 8 候选版 2 的发布以及 EF Core 8 中的新功能。

哨兵值和数据库默认值更好的执行更新和执行删除更好地使用“IN”查询SQL Azure/SQL Server 中的数字行版本消除括号在 .NET 8 候选版本 2 中宣布 .NET MAUI:更高质量 - .NET 博客

关于 .NET 8 候选版本 2 中的 .NET MAUI 更新。

除了介绍此版本中的质量改进之外,文章还提到了针对 .NET 7 的 .NET MAUI 服务版本 8 的发布以及与 Xcode 15 和 Android 14 的兼容性。

.NET Framework 2023 年 10 月安全和质量汇总更新 - .NET 博客

.NET Framework 的 2023 年 10 月安全修复程序和累积更新已发布。

此版本不包含任何新的安全修复,但包含一些错误修复。

VMMap v3.4 - Microsoft 社区中心

v3.4 已发布。

VMMap 是 Windows 上的内存分析工具。此版本还支持 .NET 6 到 8。

ASP.NET Core 8 中的性能改进 - .NET 博客

关于 .NET 8 候选发布版 2 中的 ASP.NET Core 性能改进。

服务器KestrelHTTP.sys原生 AOT请求委托生成器运行时 APISearchValuesSpanFrozenDictionary其他正则表达式分析仪字符串生成器Visual Studio 2022 17.8 预览版 3 现已推出!- Visual Studio 博客

Visual Studio 2022 17.8 预览版 3 已发布。

生产力Visual Studio 更新通知C++ 游戏开发虚幻引擎宏说明符建议结构化诊断将 SQL Server Data Tools 从 MDS 3.0 升级到 MDS 5.0Visual Studio 中的 F# 代码修复大修 - .NET 博客

在 Visual Studio 中修复 F# 代码的改进。

.NET Conf 2023 议程

.NET Conf 2023 的时间表/会议列表已发布。

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

gRPC (grpc-dotnet) v2.58.0 已发布。

此版本包括多个错误修复、调试改进以及从某些项目中删除 .NET Standard 1.5。

文章、幻灯片等使用 .NET MAUI 和 Evergine 构建 3D 应用程序和内容 - .NET 博客

介绍如何组合 .NET MAUI 和 Evergine 以在 .NET MAUI 应用程序之上托管 3D。

在 .NET 项目中使用 Stryker 进行突变测试

了解如何使用 Stryker 在 .NET 项目中执行突变测试。

使用 Husky.NET 进行预提交挂钩 - 在 Git 提交之前构建、格式化和测试您的 .NET 应用程序

介绍如何使用 Git 提交挂钩通过 Husky.NET 进行构建、测试、格式化等。

混合 C# 和 Rust - 互操作

有关为 Rust 开发针对 .NET 的后端的系列。本文涉及实现和考虑如何从 Rust 调用 .NET。

C# 中双精度数的内存对齐

深入研究 .NET 中的双精度(64 位浮点)数组内存对齐。

如何在 EF Core 中将 UTC 保存的日期和时间转换并显示为 JST

如何使用 Entity Framework Core 和 PostgreSQL 在数据库中存储 UTC 日期和时间,并在显示时将其显示为 JST。

Rider 2023.3 EAP 3:全局使用支持的改进等等。| .NET 工具博客

Rider 2023.3 EAP 3 已发布。

此版本包括改进的对全局使用的支持、对无根容器的支持、改进的 HTTP 客户端中的 JSON 请求正文完成、URL 路径引用的自动代码完成、AI 助手插件的更新等等。

.NET 8 中 Docker 映像的更新:探索 .NET 8 预览版 - 第 10 部分

使用 .NET 8 更新的 Docker 映像的详细说明。

RazorSlices - 使用 ASP.NET Core 最小 API 的 Razor 视图

引入 RazorSlices,它允许您通过最少的 API 使用 Razor,而无需依赖 ASP.NET Core MVC 或 Razor Pages。

更好地查看 Visual Studio 活动日志

如何检索和查看 Visual Studio 本身的活动日志。

使用 Scrutor 改进 ASP.NET Core 依赖注入

如何使用 Scrutor 来处理 ASP.NET Core 的依赖注入,它扩展了 Microsoft.Extensions.DependencyInjection。

.NET Conf 2023 上的 Visual Studio 创新:节省时间 - Visual Studio 博客

请注意,.NET Conf 2023 上将介绍 Visual Studio。

C# 13 的计划

关于 C# 13 的最近分类。

将 Blazor 组件渲染为字符串:探索 .NET 8 预览 - 第 9 部分

了解如何使用 .NET 8 中添加的 HtmlRenderer 将 Blazor 组件呈现为字符串。

更新到预览版 3 (VS 2022 17.8) 后,MSFT_VSInstance 类从 WMI 目录中删除

关于从 Visual Studio 2022 17.8 Preview 3 中的 WMI 目录中删除 MSFT_VSInstance。要继续使用它,您需要指定一个命名空间。

Wrathmark:有趣的计算工作负载(第 1 部分)

按版本比较本机和 .NET JIT 性能。

Wrathmark:有趣的计算工作负载(第 2 部分)[2]库、存储库、工具等。microsoft/vs-dapr:在 Visual Studio 中查看、管理和诊断 Dapr 服务。

在 Visual Studio 中支持(查看、管理和诊断)Dapr 的扩展。

由于它正在开发中,目前尚未从 Visual Studio Marketplace 分发。

Cysharp/Utf8StringInterpolation:ZString 的后继者;基于 UTF8 的零分配高性能字符串插值和 StringBuilder。

一个用于高效生成 UTF-8 字符串的库,主要使用字符串完成表达式。

neue cc - 发布了 Utf8StringInterpolation,一个优化 UTF8 字符串生成的库[3]

网站、文档等推文

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

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

格式如下:

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

参考

[1]

Microsoft 安全通报 CVE-2023-44487:.NET 拒绝服务漏洞 · 问题 #277 · dotnet/announcements:

[2]

Wrathmark:有趣的计算工作负载(第 2 部分):

[3]

neue cc - 发布了 Utf8StringInterpolation,一个优化 UTF8 字符串生成的库:

标签: #aspnet取字符的个数 #aspnetmd5解密 #mono部署aspnet