.NET Weekly [November Issue 3 2022-11-22]

thumbnail

Domestic article .NET Conf China 2022 The first batch of lecturer lineup revealed! Looking forward to it all!

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

Looking at the future , on December 3-4, 2022, the -based online and offline .NET Conf 2022 technology conference in China will be grandly opened . The conference is currently in full swing, and the first batch of famous lecturers and themes have been confirmed, and I can't wait to share them with you.

How to process MQTT messages like using Controllers and Actions in AspNetCore

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

In the Internet of Things project, it takes a lot of work and effort to deal with the topic of MQTT, and the code is a mess. What is the best posture? Here we try our best to introduce the MQTTnet.AspNetCore.Routing project. This component is a topic that defines control classes and attributes to route and process messages through MQTTnet. It is as simple and easy as the WebApi writing method of Asp.Net Core.

Customize ASP.NET Core authentication

In this chapter, we will learn how to customize ASP.NET Core authentication mechanism. Microsoft regards security certification as part of the ASP.NET Core framework, enough to see that it is the most important content of the application. This article will introduce how to customize the basic implementation of ASP.NET Core authentication UI and how to add custom information to IdentityUser.

Understand the AOT gameplay of .NET7 from the perspective of WinDbg

A few days ago, a friend on station B asked me to interpret the new AOT of .NET7 from the perspective of advanced debugging. After all, this thing is new, so I will simply explore it in this article.

C# Multithreading (3) Advanced Threads

Aside from deadlocks, we only talk about performance issues. Although locks can always roughly meet the synchronization requirements, once there is competition, it means that some threads will be blocked. The more intense the competition, the more threads are blocked. Context switching The greater the number of times, the greater the scheduling cost, which will obviously damage performance in high-concurrency scenarios. Under the requirement of high concurrency, high performance and thread safety, the lock-free structure (non-blocking structure) makes its debut.

Three other ways to implement WebSocket Server in .Net Core

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

I have written about "WebSocket Native Socket Implementation" and "Complete Example of .Net Core WebSocket Server and Client" and "WebSocketServer Communication Based on .Net TcpListener" before. This article describes three other ways to implement a WebSocket Server.

C# 11: Static abstract members in interfaces

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

This article introduces the new features in C# 11, support for static abstract members in interfaces, its usage and sample code.

Talk about FASTER and in-process hybrid cache

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

This article briefly experienced Microsoft FASTER KV Store, conducted performance tests and interpreted the performance data of official papers, and gave the possibility of whether FASTER can be used as an in-process hybrid cache.

Take and make .NET visual notes with Jupyter Notepad

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

There are many tools for taking notes, but for programmers, taking notes + program code + demonstration of running results can exist at the same time, which will undoubtedly greatly increase the readability and experience of our notes. When I was writing python, I had a good experience using jupyter, so here is a simple tutorial for recording C# code based on jupyter for everyone to watch.

Use BeetleX.MQTT to build services

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

It has been a long time since I wrote code. In order not to let my coding skills decline, I extended an MQTT protocol for BeetleX to maintain my code design and writing capabilities. Next, briefly introduce how to use BeetleX.MQTT to build the corresponding TCP or WebSocket service.

[Appreciation] .NET cross-platform framework - Avalonia UI

This is an official demo of Avalonia UI. The webmaster has upgraded some Nuget packages, and netizen [Little Airplane MLA] has fixed the font bug on the Linux version so that it can run normally and demonstrate.

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

C# Support in Theme Fleet Public Preview | .NET Tools Blog

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

C# support in Fleet is now in public preview.

Like Rider, the implementation is based on ReSharper, but doesn't support Xamarin or Unity, so Rider and Fleet will co-exist for the foreseeable future. With .NET support, Rider and Fleet will temporarily coexist. As a limitation, in .NET 5 or higher.

Supported features include code analysis, navigation, name refactoring, code completion, templating, formatting, documentation popup, application configuration and execution, debugging including breakpoints.

The article also talks about the steps to implement support and future plans.

Announcing the .NET Virtual Monolith library - Issue #241 - dotnet/announcements

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

The .NET Virtual Monolith Repository, is a repository that mirrors and collects everything needed to build .NET.

.NET product builds are made up of many repositories, making it difficult for anyone outside of Microsoft to replicate the build, and adding to the complexity of the build and release infrastructure, the goal is to simplify the build and ship process, and make it Be transparent with the community. The purpose of the repository is to simplify building and shipping, and to be transparent to the community.

  • Includes all code needed to build from the .NET SDK [1]

Includes all code needed to build from the .NET SDK [1]

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

An article that dives into the recent TechEmpower Benchmark results on ASP.NET Core performance, touting its speed, and what the corresponding code looks like.

Benchmark code includes "Platform" written using only Kestrel and minimal components, "Micro" using ASP.NET Core middleware, and even "Full" using the Razor template engine, with each implementation discussed and promoted. platform, but is it possible to say that it is "faster than other languages/platforms".

Git Action: Self-hosted runners now support Windows ARM64 - Issue #616 - github/roadmap

GitHub Actions' self-hosted runner now supports Windows ARM64 environments.

Announcing Oracle's support for .NET 7 - Alex Keh - Medium

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

ODP.NET Core now supports .NET 7.

NuGet package version 3.21.80 or later supports Oracle Database 11g Release 2 (11.2.0.4) or later.

Visual Studio 2022 Version 17.4.1 - Visual Studio 2022 Release Notes | Microsoft Learn

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

Version 17.4.1 of Visual Studio 2022 has been released.

It fixes issues with ML.NET Model Builder, the integrated terminal screen reader, and a crash when opening a .NET 7 core dump on Linux.

VS Git multi-repository support has been released!

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

An article explaining Git's multi-repository support released in Visual Studio 2022 17.4.

Multiple repository support allows you to work with multiple repositories while opening a single solution. Due to performance constraints, the number of repositories that can be processed concurrently is currently limited to 10.

The article introduces branch management across multiple warehouses, change tracking, push, and Git warehouse settings, such as whether to enable Prune when Fetching.

Public preview of Dev Tunnel for ASP.NET Core projects in Visual Studio - Visual Studio Blog

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

Article about the public preview of dev tunnels available for ASP.NET Core development in Visual Studio.

A "dev tunnel" is a service that provides tunneling (port forwarding) from the internet to your local environment. It has gone from a private preview to a public preview. This post describes how to enable tunneling, how to configure it for debug startup, and what has changed since its initial release.

The future roadmap is to add things like persistent URLs, tunnel management, and various UIs.

Visual Studio 2022 Performance Boost 17.4 - Visual Studio Blog

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

An introductory article about performance improvements in Visual Studio 2022 17.4.

  • search by folder
  • Indexing of C++ projects faster
  • Reduced solution reloading during Git branch switching
  • Responsiveness when switching configurations in .NET
  • unit test
  • Parallel Testing Exploration
  • Efficient Parallel Test Execution
  • Optimized the communication between Visual Studio and the test runner process
  • Improved responsiveness of file saving

search by folder

Indexing of C++ projects faster

Reduced solution reloading during Git branch switching

Responsiveness when switching configurations in .NET

unit test

  • Parallel Testing Exploration
  • Efficient Parallel Test Execution
  • Optimized the communication between Visual Studio and the test runner process

Parallel Testing Exploration

Efficient Parallel Test Execution

Optimized the communication between Visual Studio and the test runner process

Improved responsiveness of file saving

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

grpc-dotnet 2.50.0 has been released.

There are no major functional changes in this release, mostly bug fixes.

.NET Framework assembly support added to Azure Logic Apps (standard) XSLT transformations (preview).

Added support for .NET Framework components in Azure Logic Apps (Standard) XSLT transformations.

Articles, slides, etc. .NET 7.0's performance improvements to dynamic PGO are incredible | Petabridge

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

Article about DynamicPGO and Akka.NET performance improvements for .NET 7.

Try out the built-in container support introduced in .NET 7 - Silverlight and Bluesky

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

Article about built-in container support in .NET 7 (build container images from dotnet release).

This post explains how to actually use it, various settings and limitations.

Write an OBS plug-in with .NET NativeAOT

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

Article about writing OBS plugins with .NET 7's NativeAOT.

It implements an example of exporting a function with UnmanagedCallersOnly for OBS plugins and logging when it is loaded as a plugin.

Using Entity Framework Core and Dapper together in the same transaction - Qiita

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

Articles about handling transactions and connections when using Entity Framework Core and Dapper together.

.NET is now supported by IBM Power, try it out - Qiita

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

Article on installing and running 64-bit IBM Power (ppc64le), which is supported in .NET 7.

HashSet vs SortedSet in C# - Code Maze

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

The article summarizes the difference between " HashSet<T> " and " SortedSet<T> ", their characteristics and performance differences.

How to enable without [Authorization] - Qiita

Article on how to uniformly specify the `Authorize' attribute via a fallback authorization strategy, rather than assigning it to controllers or methods.

A quick comparison of secure static code analyzers for C#

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

The article compares C# static code security analysis tools.

The article compares the running results of tools such as CodeQL, SonarCloud, Semgrep, secure code scanning, and Snyk code against sample code. Other aspects such as speed, IDE support and price are also compared.

BlazorBindings.Maui - Preview 10

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

Article about Preview 10 of BlazorBindings.Maui for MAUI forked from MobileBlazorBindings.

Support for .NET 7, navigation improvements, shell properties, component builder improvements, and more.

Assertion scope, FluentAssertions features you don't know you need

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

An article about the assertion grouping mechanism called assertion scopes in FluentAssertions.

Assertions that fail within an assert scope can be grouped and reported (so that if one assert fails, subsequent asserts are also executed).

How to draw 2D graphics MAUI's GraphicsView in .NET

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

Article on how to create a view that draws 2D graphics in .NET MAUI.

GraphicsView and Microsoft.Maui.Graphics can be used to draw shapes etc.

Introducing LiteDB for .NET Developers: Includes WebApp Demo

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

Introduces LiteDB, a NoSQL database for .NET, and uses it to implement a sample application for the Uno platform.

Required member of C#11 - NDepend

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

Article about "required" members in C#11.

The article describes usage, limitations, and when it's useful.

Enabling Group Policy Settings with Visual Studio Administrative Templates (ADMX) - Visual Studio Blog

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

Article about enabling Group Policy settings using Visual Studio Administrative Templates.

EF Core 7 is here - welcome to typing entity IDs 🍾

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

Article about supporting entities with custom type IDs in Entity Framework Core 7.

Open Source Libraries, Repositories, Tools, etc. le-nn/blazor-transition-group: An easy way to perform animations when Blazor components enter or leave the DOM.

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

A library for implementing add/remove animations for list-like components in Blazor.

  • Simple way to perform list add/remove animations in Blazor [BlazorTransitionGroup] [2]

Simple way to perform list add/remove animations in Blazor [BlazorTransitionGroup] [2]

https://github.com/asmichi/ChildProcess

ChildProcess is a .NET library that provides functionality for creating child processes.

dd + gzip homebrew (mirror + restore physical disk, dd + gzip compatible with Linux) on Windows 11 for ARM64 - Qiita

A tool for mirroring and writing back physical disks, available for ARM64 versions of Windows.

pythonnet/pythonnet: Python for .NET is a package that provides Python programmers with near-seamless integration with the .NET common language runtime. (CLR), and provides a powerful application scripting tool for .NET developers.

https://github.com/pythonnet/pythonnet

Such as calling Python from Python to .NET, or from Python to .NET.

  • How to call Python from C# using Pythonnet - Qiita [3]

How to call Python from C# using Pythonnet - Qiita [3]

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

The Journey from Monolith to Microservices for .NET Applications

image-20221123095145156 social media

Introduce how to simply use IKVM.NET to compile Java into .NET, out-of-the-box Java on .NET. You can even use MavenReference to directly reference packages on Java maven.

preview

A story of Azure, gRPC JSON transcoding and .NET Native AOT (server side) combined on one system.

image-20221123095228490

Video on Analyzing .NET Application Performance with PerfView

image-20221123095418968 Copyright Notice

  • The domestic section is organized by InCerry: https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-11-22.md
  • The rest is from Myuki WeekRef, translated by InCerry (authorized): https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-11-22.md

The domestic section is organized by InCerry: https://github.com/InCerryGit/WeekRef.NET/blob/master/input_zh-CN/2022/2022-11-22.md

The rest is from Myuki WeekRef, translated by InCerry (authorized): https://github.com/mayuki/WeekRef.NET/blob/master/input/2022/2022-11-22.md

Since the author does not have so much time to sort out some domestic articles, everyone is welcome to contribute to the ".NET Weekly - Domestic Articles" section. If you need to promote your own articles or frameworks, open source projects can submit Issues at the project address below or in my WeChat official account private message.

The format is as follows:

  • A title of about 10~50 words
  • Corresponding article or project URL access link
  • An introduction within 200 words, if it is too long, it will affect the reading experience

A title of about 10~50 words

Corresponding article or project URL access link

An introduction within 200 words, if it is too long, it will affect the reading experience

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

References

[1]

Includes all code needed to build from the .NET SDK: https://github.com/dotnet/dotnet

[2]

Simple way to perform list add/remove animations in Blazor [BlazorTransitionGroup]: https://zenn.dev/remrem/articles/3e13d64bcba6b5

[3]

How to call Python from C# using Pythonnet - Qiita: https://qiita.com/hiron_rgkr/items/e0f110d75fb35584e6ed

Latest Programming News and Information | GeekBar

Related Posts