<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/aspnetcore/best-of/2023" -->

---
title: Best ASP.NET Core posts of 2023 | daily.dev
description: The most upvoted ASP.NET Core posts of 2023, curated by the daily.dev community.
canonical: https://daily.dev/tags/aspnetcore/best-of/2023
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/aspnetcore/best-of/2023
og:type: website
og:site_name: daily.dev
og:title: Best ASP.NET Core posts of 2023 | daily.dev
og:description: The most upvoted ASP.NET Core posts of 2023, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of ASP.NET Core — 2023

1. 1  
[](/posts/building-a-microservices-api-gateway-w90dmqhlf "Building a Microservices API Gateway")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 3y  
Building a Microservices API Gateway  
Learn how to build a Microservices API Gateway using YARP in ASP.NET Core with step-by-step instructions and code examples.  
57
2. 2  
[](/posts/introducing-the-identity-api-endpoints-b9kfmst6c "Introducing the Identity API endpoints")  
Article  
![Avatar of andrewlock](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/74ebd66cf7e840b6b29913eae3da9189).NET Escapades · 3y  
Introducing the Identity API endpoints  
ASP.NET Core Identity lets you store user accounts in your app, manage user details, enable two factor authentication, and associate third-party logins with users. These endpoints serve as API-friendly alternatives to the "default UI" that has been available for some time.  
45  
2
3. 3  
[](/posts/clean-architecture-and-indirection-no-thanks--upmnpjkrx ""Clean Architecture" and indirection. No thanks.")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET · 3y  
"Clean Architecture" and indirection. No thanks.  
45
4. 4  
[](/posts/global-error-handling-in-asp-net-core-8-cluxniau5 "Global Error Handling in ASP.NET Core 8")  
Article  
![Avatar of milanjovanovic](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/78d8abfb692746538410dee47f93e566)Milan Jovanović · 3y  
Global Error Handling in ASP.NET Core 8  
ASP.NET Core provides options for implementing exception handling, including the old way using middleware and the new way using the IExceptionHandler interface. IExceptionHandler implementations can be configured and chained for handling specific exceptions. Exceptions should be avoided for flow control and the Result pattern is a better alternative.  
23  
1
5. 5  
[](/posts/net-8-http-logging-te5h9fldu ".NET 8–Http Logging")  
Article  
![Avatar of bartwullems](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/52b68c70636d44f0901ae7cd107c9438)The Art of Simplicity · 3y  
.NET 8–Http Logging  
ASP.NET Core in .NET 8 introduces new capabilities in the HTTP logging middleware, eliminating the need for Serilog to achieve similar results. These capabilities include measuring the duration of request/response processing and consolidating all enabled logs into one.  
20
6. 6  
[](/posts/5-serilog-best-practices-for-better-structured-logging-aylxb9zjn "5 Serilog Best Practices For Better Structured Logging")  
Article  
![Avatar of milanjovanovic](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/78d8abfb692746538410dee47f93e566)Milan Jovanović · 3y  
5 Serilog Best Practices For Better Structured Logging  
Learn 5 practical tips for better structured logging with Serilog, including using the configuration system, Serilog Request Logging, enriching logs with CorrelationId, logging important application events, and using Seq for local development.  
17
7. 7  
[](/posts/net-8-what-s-new-for-authentication-and-authorization-m5p5r56st ".NET 8: What's New for Authentication and Authorization")  
Article  
![Avatar of auth0](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/6510ffa7350449618fbacdddae663b82)Auth0 · 3y  
.NET 8: What's New for Authentication and Authorization  
The release of .NET 8 brings authentication and authorization enhancements such as the new bearer token authentication handler for token-based authentication, Identity API endpoints for user authentication and account management, and simplification in defining custom authorization policies.  
17
8. 8  
[](/posts/implement-custom-authorization-policy-provider-in-asp-net-core-v9v8auyjo "Implement Custom Authorization Policy Provider in ASP.NET Core")  
Article  
![Avatar of codemaze](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5004eb44be854b11bc10517031b0ad88)Code Maze · 3y  
Implement Custom Authorization Policy Provider in ASP.NET Core  
Learn how to implement a custom authorization policy provider in ASP.NET Core to dynamically fetch and provide authorization policies based on specific requirements.  
15
9. 9  
[](/posts/domain-modeling-gone-wrong-f3sp7nk62 "Domain Modeling Gone Wrong")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET · 3y  
Domain Modeling Gone Wrong  
15
10. 10  
[](/posts/crud-can-be-terrible-start-capturing-intent--bj2xsqhvz "CRUD can be Terrible. Start capturing INTENT!")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET · 3y  
CRUD can be Terrible. Start capturing INTENT!  
15
11. 11  
[](/posts/announcing-asp-net-core-in-net-8-1knbodjii "Announcing ASP.NET Core in .NET 8")  
Article  
![Avatar of devblogs](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8f68b453325f482ebeb73fb780092713)DevBlogs · 3y  
Announcing ASP.NET Core in .NET 8  
ASP.NET Core in .NET 8 brings new features and improvements, including enhanced performance, support for native AOT, full stack web UI capabilities with Blazor, and a JavaScript SDK and project system in Visual Studio. It also introduces metrics, named pipes transport, Redis-based output caching, route tooling improvements, debugging enhancements, and more. To upgrade an existing project, follow the migration guide. The release of .NET 8 is being celebrated at .NET Conf 2023, a virtual developer event.  
13
12. 12  
[](/posts/improving-asp-net-core-dependency-injection-with-scrutor-jlhoikpqb "Improving ASP.NET Core Dependency Injection With Scrutor")  
Article  
![Avatar of milanjovanovic](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/78d8abfb692746538410dee47f93e566)Milan Jovanović · 3y  
Improving ASP.NET Core Dependency Injection With Scrutor  
ASP.NET Core Dependency Injection can be improved with the Scrutor library, which extends the features of Microsoft.Extensions.DependencyInjection. Scrutor allows for assembly scanning and service decoration, reducing boilerplate code and making the DI setup cleaner and more maintainable.  
13
13. 13  
[](/posts/announcing-net-8-preview-6-w0wzigyz5 "Announcing .NET 8 Preview 6")  
Article  
![Avatar of dotnet](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f23eb59371bd4f07aeef64c4eef73266).NET Blog · 3y  
Announcing .NET 8 Preview 6  
.NET 8 Preview 6 is a continuation of the Preview 5 release, and we’re committed to bringing you more enhancements with each monthly release. We hope you enjoy these new features and improvements. Stay tuned for more updates as we continue our journey of making.NET better, together.  
13
14. 14  
[](/posts/how-to-easily-create-pdf-documents-in-asp-net-core-yu8xzszdg "How To Easily Create PDF Documents in ASP.NET Core")  
Article  
![Avatar of milanjovanovic](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/78d8abfb692746538410dee47f93e566)Milan Jovanović · 3y  
How To Easily Create PDF Documents in ASP.NET Core  
Learn how to easily create PDF documents in ASP.NET Core using libraries like QuestPDF and IronPDF. The article discusses common problems faced by .NET developers when working with PDF files, features of QuestPDF and IronPDF, merging multiple PDF files, and exporting PDF files from an API.  
11
15. 15  
[](/posts/microservice-architecture-in-asp-net-core-with-api-gateway-1kvm7jzx9 "Microservice Architecture in ASP.NET Core with API Gateway")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 3y  
Microservice Architecture in ASP.NET Core with API Gateway  
Learn about Microservice Architecture in ASP.NET Core, its comparison to traditional architecture, and the concept of API Gateways with Ocelot.  
11
16. 16  
[](/posts/updates-to-docker-images-in-net-8-xniatzrbw "Updates to Docker images in .NET 8")  
Article  
![Avatar of andrewlock](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/74ebd66cf7e840b6b29913eae3da9189).NET Escapades · 3y  
Updates to Docker images in .NET 8  
The article describes the updates to Docker images in .NET 8\. It covers the support for chiseled containers, smaller images and improved R2R with composite images, running container images with non-root users, changes in port default for ASP.NET Core apps, dependency changes in Alpine .NET 8 images, version-specific tags for Windows images, and changes in the default Linux distros for the images.  
11
17. 17  
[](/posts/now-generally-available-5ozbdklos "Now Generally Available")  
Article  
![Avatar of dotnet](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/f23eb59371bd4f07aeef64c4eef73266).NET Blog · 3y  
Now Generally Available  
Announcement of the general availability of C# Dev Kit, a Visual Studio Code extension that brings an improved C# development experience to Linux, macOS, and Windows. The kit leverages core C# language services and offers additional productivity value to developers. Updates and improvements will be made on a monthly basis.  
11
18. 18  
[](/posts/how-to-get-an-access-token-from-httpcontext-in-asp-net-core-u2zg8hezb "How to Get an Access Token from HttpContext in ASP.NET Core")  
Article  
![Avatar of codemaze](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/5004eb44be854b11bc10517031b0ad88)Code Maze · 3y  
How to Get an Access Token from HttpContext in ASP.NET Core  
This article explores different ways to get an Access Token from HttpContext in ASP.NET Core. It explains the role of access tokens in maintaining secure communication and outlines the Headers and GetTokenAsync approaches for extracting the access token. It also discusses how access tokens can be accessed from HttpContext in a controller or via middleware. The article concludes by emphasizing best practices and security considerations for handling access tokens.  
10
19. 19  
[](/posts/authentication-with-multiple-identity-providers-in-asp-net-core-oxrw1rlcu "Authentication with multiple identity providers in ASP.NET Core")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET · 3y  
Authentication with multiple identity providers in ASP.NET Core  
This article explains how to implement authentication in ASP.NET Core using multiple identity providers or secure token servers. It covers the setup, sign-in and sign-out processes, and provides some considerations when setting up multiple secure token servers or identity providers.  
9
20. 20  
[](/posts/events-are-an-api-treat-them-that-way--712radk7o "Events are an API. Treat them that way!")  
Article  
![Avatar of discdot](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ffa4f4ad5e0b4f9096da7a3943bd5ff2)Discover .NET · 3y  
Events are an API. Treat them that way!  
9  
1
21. 21  
[](/posts/building-a-restful-minimal-api-with-net-core-7-9fhe2ruvt "Building a RESTful Minimal API With .NET Core 7")  
Article  
![Avatar of dz](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/dz)DZone · 3y  
Building a RESTful Minimal API With .NET Core 7  
Learn how to build a RESTful Minimal API with .NET Core 7 using the Minimal API approach. The tutorial covers creating endpoints to retrieve and save credit score ratings, as well as the prerequisites for running the tutorial.  
10
22. 22  
[](/posts/celebrating-the-release-of-net-8--ceh7ae7d4 "Celebrating the Release of .NET 8!")  
Article  
![Avatar of aspnet](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ff70247f4b29446e9d30433c3f38652a)ASP.NET Blog · 3y  
Celebrating the Release of .NET 8!  
.NET Conf 2023 is a free, three-day virtual developer event that celebrates the release of.NET 8\. This year’s themes promise to enthrall developers with their relevance and innovation. All sessions must be submitted through Sessionize, and we will assemble the best and most interesting sessions to be broadcast live during the event.  
10  
1

[See all ASP.NET Core archives](/tags/aspnetcore/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/aspnetcore/best-of/2023#page","url":"https://daily.dev/tags/aspnetcore/best-of/2023","name":"Best ASP.NET Core Posts of 2023","description":"The most upvoted ASP.NET Core posts of 2023, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/aspnetcore/best-of/2023#items","numberOfItems":22,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/building-a-microservices-api-gateway-w90dmqhlf","name":"Building a Microservices API Gateway"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/introducing-the-identity-api-endpoints-b9kfmst6c","name":"Introducing the Identity API endpoints"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/clean-architecture-and-indirection-no-thanks--upmnpjkrx","name":"\"Clean Architecture\" and indirection. No thanks."},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/global-error-handling-in-asp-net-core-8-cluxniau5","name":"Global Error Handling in ASP.NET Core 8"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/net-8-http-logging-te5h9fldu","name":".NET 8–Http Logging"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/5-serilog-best-practices-for-better-structured-logging-aylxb9zjn","name":"5 Serilog Best Practices For Better Structured Logging"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/net-8-what-s-new-for-authentication-and-authorization-m5p5r56st","name":".NET 8: What's New for Authentication and Authorization"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/implement-custom-authorization-policy-provider-in-asp-net-core-v9v8auyjo","name":"Implement Custom Authorization Policy Provider in ASP.NET Core"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/domain-modeling-gone-wrong-f3sp7nk62","name":"Domain Modeling Gone Wrong"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/crud-can-be-terrible-start-capturing-intent--bj2xsqhvz","name":"CRUD can be Terrible. Start capturing INTENT!"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/announcing-asp-net-core-in-net-8-1knbodjii","name":"Announcing ASP.NET Core in .NET 8"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/improving-asp-net-core-dependency-injection-with-scrutor-jlhoikpqb","name":"Improving ASP.NET Core Dependency Injection With Scrutor"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/announcing-net-8-preview-6-w0wzigyz5","name":"Announcing .NET 8 Preview 6"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/how-to-easily-create-pdf-documents-in-asp-net-core-yu8xzszdg","name":"How To Easily Create PDF Documents in ASP.NET Core"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/microservice-architecture-in-asp-net-core-with-api-gateway-1kvm7jzx9","name":"Microservice Architecture in ASP.NET Core with API Gateway"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/updates-to-docker-images-in-net-8-xniatzrbw","name":"Updates to Docker images in .NET 8"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/now-generally-available-5ozbdklos","name":"Now Generally Available"},{"@type":"ListItem","position":18,"url":"https://daily.dev/posts/how-to-get-an-access-token-from-httpcontext-in-asp-net-core-u2zg8hezb","name":"How to Get an Access Token from HttpContext in ASP.NET Core"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/authentication-with-multiple-identity-providers-in-asp-net-core-oxrw1rlcu","name":"Authentication with multiple identity providers in ASP.NET Core"},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/events-are-an-api-treat-them-that-way--712radk7o","name":"Events are an API. Treat them that way!"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/building-a-restful-minimal-api-with-net-core-7-9fhe2ruvt","name":"Building a RESTful Minimal API With .NET Core 7"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/celebrating-the-release-of-net-8--ceh7ae7d4","name":"Celebrating the Release of .NET 8!"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"ASP.NET Core","item":"https://daily.dev/tags/aspnetcore"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/aspnetcore/best-of"},{"@type":"ListItem","position":5,"name":"2023"}]}]}
```

