.NET Weekly [November Issue 3 2022-11-22]
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