Wondering what's new in .NET 9?
I've picked my favorite additions to .NET, ASP.NET Core and C#!
We're going to discover some great additions to .NET, such as improvements to Spans, System.Text.Json, Base64Urls and much more!
When it comes to ASP.NET Core 9, did you know it completely changes how it's using OpenId Connect by default? This is a great change, and something you definitely need to understand if your application is using OAuth and OpenId Connect.
We're also going to look at changes to .NET Aspire, a great way to speed up the development process.
Last but not least, let's look at the additions to C#!
Each topic deserves its own dedicated video, we are only scratching the surface.
Let's learn all about .NET 9 and C# 13!
Follow me on Twitter: @fekberg https://twitter.com/fekberg
Check out my courses on Pluralsight: https://pluralsight.pxf.io/d1MRK
Code samples: https://github.com/fekberg/dotnet9-csharp13
Errata:
- TypedErrorS should be TypedResults at 01:19
- Audio is repeated at 11:09:25
- Audio is in left channel only at 12:06
- Incorrect demo in Visual Studio showing for a brief second at 11:20
- The "field" keyword is an opt-in language feature that requires setting the LangVersion to preview, but still included in the release of .NET 9
DISCLAIMER: This video and description contains affiliate links, which means that if you click on one of the links, I may receive a small commission.
00:00 Introduction
00:55 OpenAPI
01:18 Typed Results (Internal Server Error)
01:44 Pushed Authorization Request (PAR)
03:00 Hybrid Cache
04:56 Map Static Assets
05:18 Warning for Authroize
06:05 .NET Aspire
06:27 .NET Aspire Dashboard
07:01 .NET Aspire Custom Commands
08:10 Base64Url
08:52 Span improvements
10:02 Span as Alternate Lookup
10:24 Feature Switching
11:28 System.Text.Json
12:18 Respect Nullable Annotations
13:01 Respect Required Constructor Parameters
13:37 Extension methods for Spans
14:20 Span StartsWith and EndsWith
14:48 Splitting a Span with Span.Split
15:49 C# 13: field keyword
16:43 C# 13: Lock object
16:41 C# 13: params collection
17:35 C# 13: Overload Resolution Priority
18:23 C# 13: Implicit Index Access