The dangers and gotchas of using scoped services in OptionsBuilder
A quick reminder that my new book, ASP.NET Core in Action, Third Edition, is currently available in MEAP. Completely updated to .NET 7, minimal APIs and minimal hosting (but also covering Razor Pages,...
View Article5 new MVC features in .NET 7
Many of the headline features introduced in ASP.NET Core in .NET 7 were about minimal APIs, such as route groups and filters. But just because minimal APIs were a big focus doesn't mean that MVC...
View ArticleASP.NET Core in Action, Version 3 update
In this post I give a quick update on why my blog hasn't been as active as usual. The short answer is: I've been head down working on my new book, ASP.NET Core in Action, Third Edition! Your blog has...
View ArticleA first look behind the scenes of minimal API endpoints: Behind the scenes of...
This is the first post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints (this post) Part 2 - Extracting metadata from a minimal API...
View ArticleExtracting metadata from a minimal API handler: Behind the scenes of minimal...
This is the second post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler (this...
View ArticleExploring the model-binding logic of minimal APIs: Behind the scenes of...
This is the third post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part 3...
View ArticleGenerating argument expressions for minimal APIs: Behind the scenes of...
This is the fourth post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part...
View ArticleGenerating argument expressions for minimal APIs (continued): Behind the...
This is the fifth post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part 3...
View ArticleGenerating the response writing expression for RequestDelegate: Behind the...
This is the sixth post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part 3...
View ArticleThoughts on 'What is .NET, and why should you choose it?'
Microsoft have just posted the first of what will be a series of posts on the design tenets and goals of .NET. This first post acts as an introduction, but it's also very detailed, and moderately...
View ArticleBuilding the final RequestDelegate: Behind the scenes of minimal APIs - Part 7
This is the seventh post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part...
View ArticleCustomising the RequestDelegate with filters: Behind the scenes of minimal...
This is the eighth post in the series: Behind the scenes of minimal APIs. Part 1 - A first look behind the scenes of minimal API endpoints Part 2 - Extracting metadata from a minimal API handler Part...
View ArticleUnderstanding SameSite cookies
In my previous post, I described a problem with sending cross-origin requests, and the problem was down to SameSite cookies. In this post I look at SameSite cookies in more detail. I'll describe what...
View ArticleSupporting legacy browsers and SameSite cookies without UserAgent sniffing in...
In my previous post, I described how SameSite cookies work and how they work as a security measure. I also mentioned the fact that the specification was updated in 2019, and that the behaviour of...
View ArticleValidating nested DataAnnotation IOptions recursively with MiniValidation
In this short post I show how you can use the MiniValidation library from Damian Edwards to support recursive validation of IOptions object in .NET 6+. Validating IOptions in .NET 6 Last year I wrote...
View ArticleUsing the new configuration binder source generator: Exploring the .NET 8...
This is the first post in the series: Exploring the .NET 8 preview. Part 1 - Using the new configuration binder source generator (this post) This is the first post in a new series, in which I look at...
View ArticleThe minimal API AOT compilation template: Exploring the .NET 8 preview - Part 2
This is the second post in the series: Exploring the .NET 8 preview. Part 1 - Using the new configuration binder source generator Part 2 - The minimal API AOT compilation template (this post) One of...
View ArticleComparing WebApplication.CreateBuilder() to the new CreateSlimBuilder()...
This is the third post in the series: Exploring the .NET 8 preview. Part 1 - Using the new configuration binder source generator Part 2 - The minimal API AOT compilation template Part 3 - Comparing...
View ArticleExploring the new minimal API source generator: Exploring the .NET 8 preview...
This is the fourth post in the series: Exploring the .NET 8 preview. Part 1 - Using the new configuration binder source generator Part 2 - The minimal API AOT compilation template Part 3 - Comparing...
View ArticleReplacing method calls with Interceptors: Exploring the .NET 8 preview - Part 5
This is the fifth post in the series: Exploring the .NET 8 preview. Part 1 - Using the new configuration binder source generator Part 2 - The minimal API AOT compilation template Part 3 - Comparing...
View Article