12

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

 1 year ago
source link: https://www.cnblogs.com/InCerry/p/dotnet_week_22_11_3.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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中的列表类组件实现添加/删除动画的库。

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。

网站、文件等

.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

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

格式如下:

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

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


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK