.NET 7 News - NetConf 2022 Recap

As every year, Microsoft brings us annual news for developers at its Net Conf conference.

 

And as in each edition, I am writing this post, which serves as a quick recap of the topics covered. I don't go into detail on any of them, since there are a total of 40 hours of content.

 

In this post I won’t focus on the features or functionalities that they showed from Azure, since I personally don’t use Azure, and in my opinion they overused it, as practically every feature they showcased was then shown again with Azure.

 

 

1 - .NET 7 News

Following the order of the conference, where they started with the presentation of .NET 7, let's get to it.

As in previous editions, there was a strong emphasis, really strong, on performance. .NET 7 has the fastest runtime of all, as expected. And as Microsoft has shown in recent years, what they’re aiming for is an ecosystem for all devices and platforms.

net7

On performance, they mentioned that it’s especially improved on Arm64 architectures, which they have also been very focused on lately.

 

Of course, these changes are important for all of us working with cloud technologies, since even a 1% speed increase over the previous version can mean thousands of euros saved at the end of the month.

 

rendimiento net7

 

Recommendation: upgrade to .NET 7; in the case of this blog, it will be updated next week.

  • Note: if you have been using preview or release candidate versions, you might encounter some breaking changes with these new features. However, there shouldn’t be any with .NET 6 or earlier versions.

 

By the way, remember that .NET 7 is short term support. That means 6 months after .NET 8’s release, .NET 7 will stop receiving support updates, just like what happened with .NET 5.

sts net 7

Finally, in this section, it’s worth mentioning that .NET comes pre-installed on the system in some Linux distributions, such as Ubuntu, Fedora, and RedHat.

 

1.1 - C# 11, rate limiting, and more

With the arrival of .NET 7, we also get C# 11, which we looked at in detail in this post, and F# 7, though I have no idea about that one.

 

We also have important improvements in core libraries such as System.Json, and I’m glad about this, since until recently I always had to use `Newtonsoft.Json` because Microsoft’s own version was not as complete, or well, didn’t have as many features as the other one, even though Json is one of the most important parts of web applications today. For example, now it will support the new required keyword.

 

 

2 - ASP.NET Core Improvements in .NET 7

Inside ASP.NET Core, there were many small improvements, all of which are important, but for me the most important are the following:

 

2.1 - gRPC in ASP.NET Core 7

The performance of gRPC compared to other languages was another point mentioned in multiple talks, and well, here we can see why. As they said, it’s "the best in class".

rendimiento grpc

It’s understandable that they focus so much on performance, because in the long run, reducing a service call by 10 milliseconds not only makes it faster but also uses fewer resources, allowing your system to handle more calls or, at worst, to save you some money.

 

2.2 - SignalR Changes

SignalR hubs now allow dependency injection, which is always good.

 

2.3 - Changes in Minimal APIs in ASP.NET Core 7

We can’t talk about ASP.NET Core without adding some new stuff for minimal APIs; as I said before, and I still think so, they are great for small or hobby projects, but, in my opinion, not the best idea for enterprise services.

 

In any case, the improvement is that we can now include descriptions for OpenAPI specification generation, which is always welcome.

 

2.4 - Default Feature Suite

Also worthy of mention are all the features and libraries provided by the language itself, such as rate limiting (which we’ll see in a video), output cache, improved and optimized support for HTTP 2 and HTTP 3 with the latest protocols and standards like QUIC in HTTP 3.

suite .net 7

 

2.5 - Dev-tunnels

A special mention for a very useful feature that can help many people, I said I wouldn’t add anything Azure-related, but in this case I had to make an exception.

 

Basically, dev-tunnels is an SDK that lets us create a tunnel between an app deployed in Azure and our local app, so we can debug the app from our local code.

 

2.6 - Migrating to ASP.NET Core

One of the issues many readers have contacted me about, either privately or via YouTube comments, is that your API project is on .NET Framework and migrating seems almost impossible.

 

Well, the .NET team has thought of that, and introduced a feature in Visual Studio that lets you migrate apps very easily.

 

In short, what it does is place an ASP.NET Core app in front of your existing app, and sets up a reverse proxy behind it, like YARP (which we covered in the blog). Then you can move endpoints one by one to the new app, so the migration can be done gradually.

 

 

3 - Blazor Improvements in .NET 7

One of the points I’m most happy to see, as personally I don’t see Blazor being adopted by many companies compared to JavaScript frameworks like React or Vue, and I was a bit afraid Microsoft would abandon it. But I see that’s not the case (probably due to hybrid/maui apps), and this makes me happy because this blog is written in Blazor.

 

There were a great number of sessions throughout the conference, but mainly these can be highlighted:

 

A huge improvement to debugging tools for Blazor WebAssembly. Anyone who has worked with Blazor knows that debug mode in Visual Studio hasn't worked very well, but the promise is that it has improved. I’ll be able to check this personally in the next few weeks.

 

JavaScript interop has also changed, though at the user level nothing existing is affected, but it’s relevant for new features.

 

The main one for me is that NavigationManager now supports detecting when a user leaves the page, so we can set up an alert when a user tries to leave a page with unsaved content, a must-have in pages with forms.

 

There are other changes too, like improved hot reload, empty templates (no more purple and black default styling in the templates), the QuickGrid library/feature that lets you create tables easily and with all the features you expect from a table, like search, pagination, table formatting, sorting, etc. Plus various optimizations.

 

But I especially want to focus on the next point:

 

3.1 - Support for Custom Components in Blazor

I wanted to dedicate a separate point to this because I think it’s a game changer. On the blog, we’ll see an example of how it works, but it’s amazing.

 

It all comes down to the ability to run your Blazor components from applications running JavaScript (Angular, Vue, React, etc.).

 

It’s a feature that could make many companies migrate from one service to another, because the way it works is: you have a JS app running inside a Blazor application, but the user sees the page in your regular Angular app. Then in your program.cs, you register the Blazor component you want, and then from your JavaScript page you simply call it by the name you registered it with.

blazor components in js

A really useful feature that we'll look at on the blog in the future.

 

As a final note, Steve Sanderson demonstrated this feature on a WordPress blog.

 

 

4 - .NET MAUI in .NET 7

It’s finally been released, well, technically it was launched at the end of May, but apart from a couple of talks or videos, nothing much was shown. Today, in my opinion, MAUI can be considered truly released.

netmaui statistics

I’m almost sure we’ll see something about MAUI on the channel during 2023, because I’m really looking forward to it. That way I can say this blog also has content on building iOS and Android apps haha.

 

As in all conferences, performance was key, and one particular session was entirely about performance.

 

Update Visual Studio if you’re using MAUI because there were a good bunch of bugs, and well, most have been fixed.

text

There were tons of things about MAUI, lots explaining how it works at a basic level, like making buttons or detecting a click, etc. In the end, it’s the first time it’s really being shown and they have a lot to show off.

 

 

5 - Entity Framework Core

For me the big absentee of the conference, there was no specific talk on Entity Framework, because, although we saw some slides with certain information, there was no dedicated talk, which makes you think there haven’t been too many improvements since .NET 6.

 

But actually, there have been some very interesting ones.

entity framework 7

To start, EF supports both relational databases and document databases.

It also lets us store columns as json; in the past, if we wanted to save json, we did it as a string and that was it, now it’s more specific.

 

 

6 - Other Talks

Finally, a section to mention some of the talks that caught my attention (I couldn't watch them all).

 

6.1 - StackOverflow

Among them, we have the one from StackOverflow, which, although it was a talk about migrating to .NET 6, it provided a global overview of their infrastructure, and I’ll simply highlight that the server hosting StackOverflow has 1.5TB of RAM.

 

6.2 - Microsoft Orleans

Some time ago, I had to do a couple of PoCs with Microsoft Orleans for a distributed system, since Orleans provides distributed processing and distributed state. I really liked it. In the end, we didn’t implement it, because my boss didn’t want to use something that was in alpha. But for building cloud applications it’s a very powerful technology.

It might be a bit hard to understand at first with grains and silos and all that, but once you get it, it’s awesome. Halo (the video game), for example, uses Orleans for matchmaking, anticheat, etc., and of course, lots of Azure tech like Active Directory, Azure ML, Microsoft Mesh, etc.

ejemplo orleans

 

6.3 - Designing a New Feature

One of the talks I liked most, if not the most, was Jared Parsons’s talk on the process of adding a new feature to the language, not just in code, but also the whole design and decision-making part. Very interesting and productive.

In the same group, there was the next talk, with several architects from the .NET team explaining similar situations they face when designing features.

 

 

And much more

And of course, there were many, many other talks that I recommend checking out. For example, last year we saw a bit about Playwright, well, this year there was a complete session about it.

Also, there was a talk about low-code solutions, tons of Azure sessions, some on GitHub, Uno Platform, and much more.

 

This post was translated from Spanish. You can see the original one here.
If there is any problem you can add a comment bellow or contact me in the website's contact form

Uso del bloqueador de anuncios adblock

Hola!

Primero de todo bienvenido a la web de NetMentor donde podrás aprender programación en C# y .NET desde un nivel de principiante hasta más avanzado.


Yo entiendo que utilices un bloqueador de anuncios como AdBlock, Ublock o el propio navegador Brave. Pero te tengo que pedir por favor que desactives el bloqueador para esta web.


Intento personalmente no poner mucha publicidad, la justa para pagar el servidor y por supuesto que no sea intrusiva; Si pese a ello piensas que es intrusiva siempre me puedes escribir por privado o por Twitter a @NetMentorTW.


Si ya lo has desactivado, por favor recarga la página.


Un saludo y muchas gracias por tu colaboración

© copyright 2025 NetMentor | Todos los derechos reservados | RSS Feed

Buy me a coffee Invitame a un café