前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET周报【11月第3期 2022-11-22】

.NET周报【11月第3期 2022-11-22】

作者头像
InCerry
发布2023-03-08 16:00:59
3K0
发布2023-03-08 16:00:59
举报
文章被收录于专栏:InCerryInCerry

国内文章

.NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了!

https://mp.weixin.qq.com/s/4p89hhBPw6qv-0OB_T_TOg

目光看过来 2022 年 12 月 3-4 日,一场社区性质的国内规模最大的 线上线下.NET Conf 2022 技术大会 即将盛大开幕。目前大会正紧锣密鼓地进行中,第一批大咖讲师及主题已确定,小编迫不及待想和大家分享。

如何像使用 AspNetCore 中的 Controllers 和 Actions 一样处理 MQTT 消息

https://mp.weixin.qq.com/s/KyATJd47ctCVg9ZLTyGikA

在物联网项目中, 处理 MQTT 的 topic 时费工费力, 代码一团乱, 什么才是最好的姿势?这里面我们极力介绍 MQTTnet.AspNetCore.Routing 项目,这个组件是通过 MQTTnet 实现了定义控制类和属性来路由处理消息的 topic , 就像 Asp.Net Core 的 WebApi 写法一样简单容易。

定制 ASP.NET Core 的身份认证

https://www.cnblogs.com/jackyfei/archive/2022/11/15/16879926.html

在本章,我们将学习如何定制 ASP.NET Core 认证机制。微软把安全认证当做 ASP.NET Core 框架的一部分,足以看见它是应用程序非常最重要的内容。在文将介绍如何定制 ASP.NET Core 认证 UI 的基本实现,以及如何向 IdentityUser 添加自定义信息。

从 WinDbg 角度理解 .NET7 的 AOT 玩法

https://www.cnblogs.com/huangxincheng/archive/2022/11/16/16895110.html

前几天 B 站上有位朋友让我从高级调试的角度来解读下 .NET7 新出来的 AOT,毕竟这东西是新的,所以这一篇我就简单摸索一下。

C#多线程(三)线程高级篇

https://www.cnblogs.com/xiaolipro/archive/2022/11/15/16891311.html

抛开死锁不谈,只聊性能问题,尽管锁总能粗暴的满足同步需求,但一旦存在竞争关系,意味着一定会有线程被阻塞,竞争越激烈,被阻塞的线程越多,上下文切换次数越多,调度成本越大,显然在高并发的场景下会损害性能。在高并发高性能且要求线程安全的述求下,无锁构造(非阻塞构造)闪亮登场。

.Net Core 实现 WebSocket Server 的另外三种方式

https://mp.weixin.qq.com/s/8kXURygrPDmRi2mGcGt5nQ

之前已经写过关于《WebSocket 原生 socket 实现》和《.Net Core WebSocket 服务端与客户端完整示例》以及《基于.Net TcpListener 实现 WebSocketServer 通讯》。本文介绍了实现 WebSocket Server 的另外三种方式。

C# 11:接口中的静态抽象成员

https://mp.weixin.qq.com/s/fjnICBu61TA2JVHx9A8eww

本文介绍了 C# 11 中的新特性,在接口中支持静态抽象成员以及它的使用方法和样例代码。

聊聊 FASTER 和进程内混合缓存

https://mp.weixin.qq.com/s/kg_SpcY6TiPznYKogZaokw

本文简单的体验了微软 FASTER KV Store,进行性能测试和解读了官方论文的性能数据,并给出了 FASTER 是否可以作为进程内混合缓存的可能性。

使用 Jupyter 记事本记录和制作.NET 可视化笔记

https://mp.weixin.qq.com/s/hvDEopMXqVRmk_hsoEq2hg

对于记录笔记的工具特别多,不过对于程序员来说,记录笔记+程序代码+运行结果演示可以同时存在,无疑会极大增加我们的笔记的可读性和体验感。以前在写 python 的时候,使用 jupyter 的体验很好,所以此处做一个基于 jupyter 的记录 C#代码的笔记简易教程,供大家围观。

使用 BeetleX.MQTT 构建服务

https://mp.weixin.qq.com/s/8ucY869v4mxFO4DAgx7f8g

已经有很长一段时间没有写代码,为了不让自己的代码技能有所下降所以针对 BeetleX 扩展了一个 MQTT 协议来保持自己的代码设计和编写能力。接下来简单介绍一下如何使用 BeetleX.MQTT 来构建对应的 TCP 或 WebSocket 服务。

【赏析】.NET 跨平台框架-Avalonia UI

这是 Avalonia UI 官方的一个 Demo,站长对部分 Nuget 包进行了升级,网友【小飞机 MLA】对 Linux 版本修复了字体 Bug 得以正常运行、演示。

https://mp.weixin.qq.com/s/0MWOq8EznrzzK269phsKnw

主题

Fleet 公开预览版中的 C#支持 | .NET 工具博客

https://blog.jetbrains.com/dotnet/2022/11/17/csharp-support-in-fleet/

Fleet 中的 C#支持现已进入公开预览阶段。

与 Rider 一样,实现是基于 ReSharper 的,但不支持 Xamarin 或 Unity,所以 Rider 和 Fleet 将在可预见的未来共存。 在.NET 支持下,Rider 和 Fleet 将暂时共存。 作为一个限制条件,在.NET 5 或更高的版本中。

支持的功能包括代码分析、导航、名称重构、代码完成、模板、格式化、文档弹出、应用程序配置和执行、调试包括断点。

文章还谈到了实现支持的步骤和未来计划。

宣布.NET 虚拟单体库 - 问题#241 - dotnet/announcements

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

.NET 虚拟单体资源库,是一个镜像和收集构建.NET 所需的一切的资源库。

.NET 产品的构建是由许多存储库组成的,这使得微软以外的任何人都很难复制构建,并增加了构建和发布基础设施的复杂性,其目标是简化构建和运输过程,并使其对社区透明。 储存库的目的是简化构建和运输,并对社区透明。

  • 包括所有从.NET SDK 构建所需的代码[1]

ASP.NET Core 到底有多快?

https://dusted.codes/how-fast-is-really-aspnet-core

一篇深入探讨最近关于 ASP.NET Core 性能的 TechEmpower Benchmark 结果的文章,其中吹捧了它的速度,以及相应的代码是什么样子。

基准代码包括仅使用 Kestrel 和最小部件编写的 "平台"、使用 ASP.NET Core 中间件的 "微型 "和甚至使用 Razor 模板引擎的 "完整",每个实现都被讨论和推广。平台,但是否可以说它 "比其他语言/平台更快"。

Git Action:自我托管的运行器现在支持 Windows ARM64 - 问题#616 - github/roadmap

https://github.com/github/roadmap/issues/616#event-7826802074

GitHub Actions 的自我托管运行器现在支持 Windows ARM64 环境。

宣布 Oracle 对.NET 7 的支持 - Alex Keh - Medium

https://medium.com/@alex.keh/announcing-oracle-support-for-net-7-c011b0dc4558

ODP.NET Core 现在支持.NET 7。

NuGet 软件包 3.21.80 版本或更高版本支持 Oracle 数据库 11g Release 2(11.2.0.4)或更高版本。

Visual Studio 2022 版本 17.4.1 - Visual Studio 2022 发行说明 | Microsoft Learn

https://learn.microsoft.com/en-us/visualstudio/releases/2022/release-notes#17.4.1

Visual Studio 2022 的 17.4.1 版本已经发布。

它修复了 ML.NET Model Builder、集成终端屏幕阅读器的问题,以及在 Linux 上打开.NET 7 核心转储时的崩溃。

VS Git 多库支持已发布!

https://devblogs.microsoft.com/visualstudio/multi-repository-support-released/

一篇解释 Visual Studio 2022 17.4 中发布的 Git 的多仓库支持的文章。

多资源库支持允许你在打开一个解决方案的同时处理多个资源库。 由于性能的限制,目前可以同时处理的存储库的数量限制在 10 个。

文章介绍了跨多个仓库的分支管理、变更跟踪、推送以及 Git 仓库的设置,如 Fetch 时是否启用 Prune。

Visual Studio 中用于 ASP.NET Core 项目的开发隧道的公开预览 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/public-preview-of-dev-tunnels-in-visual-studio-for-asp-net-core-projects/

关于可在 Visual Studio 中用于 ASP.NET Core 开发的 dev tunnels 公开预览的文章。

"dev tunnel "是一种提供从互联网到本地环境的隧道(端口转发)的服务。 它已经从一个私人预览变成了公开预览。 这篇文章描述了如何启用隧道,如何配置它以用于调试启动,以及自最初发布以来的变化。

未来的路线图是增加诸如持久性 URL、隧道管理和各种 UI 的内容。

Visual Studio 2022 性能提升 17.4 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/visual-studio-2022-performance-enhancements-17-4/

一篇关于 Visual Studio 2022 17.4 中性能改进的介绍性文章。

  • 按文件夹搜索
  • 更快地编制 C++项目的索引
  • 在 Git 分支切换过程中,减少了解决方案的重新加载
  • .NET 中配置切换时的响应性
  • 单元测试
    • 平行测试探索
    • 高效的并行测试执行
    • 优化了 Visual Studio 和测试运行器进程之间的通信
  • 提高了文件保存的响应速度

发布版本 v2.50.0 - grpc/grpc-dotnet

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

grpc-dotnet 2.50.0 已经发布。

在这个版本中没有重大的功能变化,主要是一些错误的修复。

.NET 框架程序集支持添加到 Azure Logic Apps(标准)XSLT 转换中(预览)。

https://techcommunity.microsoft.com/t5/integrations-on-azure-blog/net-framework-assembly-support-added-to-azure-logic-apps/ba-p/3669120

在 Azure Logic Apps(标准)XSLT 转换中增加了对.NET 框架组件的支持。

文章、幻灯片等

.NET 7.0 对动态 PGO 的性能改进是令人难以置信的 | Petabridge

https://petabridge.com/blog/dotnet7-pgo-performance-improvements/

关于.NET 7 的 DynamicPGO 与 Akka.NET 性能改进的文章。

试用.NET 7 中引入的内置容器支持 - 银光和蓝天

https://tech.tanaka733.net/entry/2022/11/builtin-container-support

关于.NET 7 中内置容器支持的文章(从 dotnet 发布中构建容器镜像)。

这篇文章解释了如何实际使用它,各种设置和限制。

用.NET NativeAOT 编写一个 OBS 插件

https://sharovarskyi.com/blog/posts/dotnet-obs-plugin-with-nativeaot/

关于用.NET 7 的 NativeAOT 编写 OBS 插件的文章。

它实现了一个例子,即为 OBS 插件导出一个带有UnmanagedCallersOnly的函数,并在它作为插件加载时进行记录。

在同一事务中一起使用 Entity Framework Core 和 Dapper - Qiita

https://qiita.com/jun1s/items/212a95b73e68625a3674

关于在一起使用 Entity Framework Core 和 Dapper 时处理事务和连接的文章。

.NET 现在被 IBM Power 支持,试试吧 - Qiita

https://qiita.com/tom_m_m/items/9a729f462c0622a5ece3

关于安装和运行 64 位 IBM Power(ppc64le)的文章,.NET 7 中支持该功能。

HashSet vs SortedSet in C# - Code Maze

https://code-maze.com/csharp-hashset-vs-sortedset/

文章总结了 "HashSet<T>"和 "SortedSet<T>"之间的区别,它们的特点和性能差异。

如何在没有[授权]的情况下启用 - Qiita

https://qiita.com/mkuwan/items/bd5ff882108998d76dca

关于如何通过后退授权策略统一指定`Authorize'属性,而不是将其指定给控制器或方法的文章。

C#的安全静态代码分析器的快速比较

https://dev.to/dbalikhin/a-quick-comparison-of-security-static-code-analyzers-for-c-2l5h

文章比较了 C#静态代码安全分析工具。

文章比较了 CodeQL、SonarCloud、Semgrep、安全代码扫描和 Snyk 代码等工具针对样本代码的运行结果。 其他方面,如速度、IDE 支持和价格也进行了比较。

BlazorBindings.Maui - Preview 10

https://dev.to/dreamescaper/blazorbindingsmaui-preview-10-5c35

关于 BlazorBindings.Maui for MAUI forked from MobileBlazorBindings 的预览 10 的文章。

对.NET 7 的支持,导航的改进,外壳属性,组件生成器的改进等。

断言范围,你不知道你需要的 FluentAssertions 功能

https://dev.to/this-is-learning/assertion-scopes-the-one-fluentassertions-feature-you-didnt-know-you-needed-4pn

一篇关于断言分组机制的文章,称为 FluentAssertions 中的断言范围。

在一个断言范围内失败的断言可以被分组并报告(因此,如果一个断言失败,后续的断言也被执行)。

如何在.NET 中绘制 2D 图形 MAUI 的 GraphicsView

https://dev.to/syncfusion/how-to-draw-2d-graphics-in-net-mauis-graphicsview-daj

关于如何在.NET MAUI 中创建一个绘制 2D 图形的视图的文章。

GraphicsView 和 Microsoft.Maui.Graphics 可以用来绘制形状等。

面向.NET 开发者的 LiteDB 介绍:包含 WebApp Demo

https://platform.uno/blog/intro-to-litedb-for-net-developers-sample-webapp-included/

介绍 LiteDB,一种适用于.NET 的 NoSQL 数据库,并使用它实现一个 Uno 平台的示例应用程序。

C#11 的必要成员 - NDepend

https://blog.ndepend.com/c-11-required-members

关于 C#11 中 "required"(必填)成员的文章。

文章介绍了用法、限制以及何时有用。

用 Visual Studio 管理模板(ADMX)启用组策略设置 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/enable-group-policy-settings-with-visual-studio-administrative-templates-admx/

关于使用 Visual Studio 管理模板来启用组策略设置的文章。

EF Core 7 来了 - 欢迎键入实体 ID 🍾

https://dev.to/maxx_don/ef-core-7-is-here-welcome-typed-entity-id-1k3p

关于在 Entity Framework Core 7 中支持具有自定义类型 ID 的实体的文章。

开源库、资源库、工具等

le-nn/blazor-transition-group: 当 Blazor 组件进入或离开 DOM 时执行动画的一种简单方法。

https://github.com/le-nn/blazor-transition-group

用于为 Blazor 中的列表类组件实现添加/删除动画的库。

  • 在 Blazor 中执行列表添加/删除动画的简单方法[BlazorTransitionGroup][2]

asmichi/ChildProcess: Asmichi.ChildProcess 是一个.NET 库,提供了创建子进程的功能。 一个替代的方法是 System.Diagnostics.Process.Start

https://github.com/asmichi/ChildProcess

ChildProcess 是一个.NET 库,提供创建子进程的功能。

dd + gzip 自制工具(镜像+恢复物理磁盘,dd + gzip 与 Linux 兼容)在 Windows 11 上运行,用于 ARM64 - Qiita

https://qiita.com/dnobori/items/59cc61b7f35449182b98

一个对物理磁盘进行镜像和回写的工具,可用于 ARM64 版本的 Windows。

pythonnet/pythonnet:Python for .NET 是一个软件包,为 Python 程序员提供了与.NET 通用语言运行时几乎无缝的集成。(CLR),并为.NET 开发者提供了一个强大的应用脚本工具。

https://github.com/pythonnet/pythonnet

譬如从 Python 到.NET,或者从 Python 到.NET 调用 Python。

  • 如何使用 Pythonnet 从 C#调用 Python - Qiita[3]

网站、文件等

.NET 应用程序的单体到微服务之旅

https://d1.awsstatic.com/developer/Monolith-to-Microservice-Journey-net-framework-application-v1.5.pdf

.NET 应用程序的单体到微服务之旅

https://twitter.com/dotnetonAWS/status/1593725744554835973

image-20221123095145156

社交媒体

介绍如何简单使用 IKVM.NET 将 Java 编译成.NET,开箱即用的 Java on .NET 。甚至能用 MavenReference 直接引用 Java maven 上的包。

https://www.zhihu.com/pin/1576268620421865474

preview


Azure,gRPC JSON 转码和.NET Native AOT(服务器端) 在一个系统上组合上运行的故事。

https://twitter.com/jamesnk/status/1592634240310861824?s=12

image-20221123095228490


关于用 PerfView 分析.NET 应用程序性能的视频

https://twitter.com/aaronontheweb/status/1592275255426711553?s=12

image-20221123095418968

版权声明

  • 国内板块由 InCerry 进行整理 : https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-11-22.md
  • 其余内容来自 Myuki WeekRef,由 InCerry 翻译(已获得授权) : https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-11-22.md

格式如下:

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

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

参考资料

[1]

包括所有从.NET SDK构建所需的代码: https://github.com/dotnet/dotnet

[2]

在Blazor中执行列表添加/删除动画的简单方法[BlazorTransitionGroup]: https://zenn.dev/remrem/articles/3e13d64bcba6b5

[3]

如何使用Pythonnet从C#调用Python - Qiita: https://qiita.com/hiron_rgkr/items/e0f110d75fb35584e6ed

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InCerry 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 国内文章
    • .NET Conf China 2022 第一批讲师阵容大揭秘!整个期待了!
      • 如何像使用 AspNetCore 中的 Controllers 和 Actions 一样处理 MQTT 消息
        • 定制 ASP.NET Core 的身份认证
          • 从 WinDbg 角度理解 .NET7 的 AOT 玩法
            • C#多线程(三)线程高级篇
              • .Net Core 实现 WebSocket Server 的另外三种方式
                • C# 11:接口中的静态抽象成员
                  • 聊聊 FASTER 和进程内混合缓存
                    • 使用 Jupyter 记事本记录和制作.NET 可视化笔记
                      • 使用 BeetleX.MQTT 构建服务
                        • 【赏析】.NET 跨平台框架-Avalonia UI
                          • Fleet 公开预览版中的 C#支持 | .NET 工具博客
                      • 主题
                        • 宣布.NET 虚拟单体库 - 问题#241 - dotnet/announcements
                          • ASP.NET Core 到底有多快?
                            • Git Action:自我托管的运行器现在支持 Windows ARM64 - 问题#616 - github/roadmap
                              • 宣布 Oracle 对.NET 7 的支持 - Alex Keh - Medium
                                • Visual Studio 2022 版本 17.4.1 - Visual Studio 2022 发行说明 | Microsoft Learn
                                  • VS Git 多库支持已发布!
                                    • Visual Studio 中用于 ASP.NET Core 项目的开发隧道的公开预览 - Visual Studio 博客
                                      • Visual Studio 2022 性能提升 17.4 - Visual Studio 博客
                                        • 发布版本 v2.50.0 - grpc/grpc-dotnet
                                          • .NET 框架程序集支持添加到 Azure Logic Apps(标准)XSLT 转换中(预览)。
                                          • 文章、幻灯片等
                                            • .NET 7.0 对动态 PGO 的性能改进是令人难以置信的 | Petabridge
                                              • 试用.NET 7 中引入的内置容器支持 - 银光和蓝天
                                                • 用.NET NativeAOT 编写一个 OBS 插件
                                                  • 在同一事务中一起使用 Entity Framework Core 和 Dapper - Qiita
                                                    • .NET 现在被 IBM Power 支持,试试吧 - Qiita
                                                      • HashSet vs SortedSet in C# - Code Maze
                                                        • 如何在没有[授权]的情况下启用 - Qiita
                                                          • C#的安全静态代码分析器的快速比较
                                                            • BlazorBindings.Maui - Preview 10
                                                              • 断言范围,你不知道你需要的 FluentAssertions 功能
                                                                • 如何在.NET 中绘制 2D 图形 MAUI 的 GraphicsView
                                                                  • 面向.NET 开发者的 LiteDB 介绍:包含 WebApp Demo
                                                                    • C#11 的必要成员 - NDepend
                                                                  • 用 Visual Studio 管理模板(ADMX)启用组策略设置 - Visual Studio 博客
                                                                    • EF Core 7 来了 - 欢迎键入实体 ID 🍾
                                                                    • 开源库、资源库、工具等
                                                                      • le-nn/blazor-transition-group: 当 Blazor 组件进入或离开 DOM 时执行动画的一种简单方法。
                                                                        • asmichi/ChildProcess: Asmichi.ChildProcess 是一个.NET 库,提供了创建子进程的功能。 一个替代的方法是 System.Diagnostics.Process.Start。
                                                                          • dd + gzip 自制工具(镜像+恢复物理磁盘,dd + gzip 与 Linux 兼容)在 Windows 11 上运行,用于 ARM64 - Qiita
                                                                            • pythonnet/pythonnet:Python for .NET 是一个软件包,为 Python 程序员提供了与.NET 通用语言运行时几乎无缝的集成。(CLR),并为.NET 开发者提供了一个强大的应用脚本工具。
                                                                            • 网站、文件等
                                                                              • .NET 应用程序的单体到微服务之旅
                                                                              • 社交媒体
                                                                              • 版权声明
                                                                                • 参考资料
                                                                                相关产品与服务
                                                                                容器服务
                                                                                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                                                                领券
                                                                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档