<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/sources/andrewlock" -->

---
title: .NET Escapades posts | daily.dev
description: Andrew Lock&#x27;s blog focuses on ASP.NET Core development, web APIs, and software architecture. Readers can find tutorials, code samples, and explanations covering topics such as RESTful API design, authentication, and authorization in ASP.NET Core. Additionally, they can learn about dependency injection, middleware, and performance optimization techniques.
canonical: https://daily.dev/sources/andrewlock
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/sources/andrewlock
og:type: website
og:site_name: daily.dev
og:title: .NET Escapades posts | daily.dev
og:description: Andrew Lock&#x27;s blog focuses on ASP.NET Core development, web APIs, and software architecture. Readers can find tutorials, code samples, and explanations covering topics such as RESTful API design, authentication, and authorization in ASP.NET Core. Additionally, they can learn about dependency injection, middleware, and performance optimization techniques.
og:image: https://api.daily.dev/og/sources/andrewlock.png
og:image:width: 1200
og:image:height: 630
---

![.NET Escapades logo](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/74ebd66cf7e840b6b29913eae3da9189)

# .NET Escapades

Follow FollowBlock

Andrew Lock's blog focuses on ASP.NET Core development, web APIs, and software architecture. Readers can find tutorials, code samples, and explanations covering topics such as RESTful API design, authentication, and authorization in ASP.NET Core. Additionally, they can learn about dependency injection, middleware, and performance optimization techniques.

Related tags:

[#c#](/tags/c%23)[#.net](/tags/.net)[ #linux](/tags/linux)[ #observability](/tags/observability)[ #aspnet](/tags/aspnet)[ #security](/tags/security)

[Posts about c#](/tags/c#)[Posts about .net](/tags/.net)[Posts about linux](/tags/linux)[Posts about observability](/tags/observability)[Posts about aspnet](/tags/aspnet)[Posts about security](/tags/security)

[The pain of serializing unions and closed class hierarchies with System.Text.Json](/posts/the-pain-of-serializing-unions-and-closed-class-hierarchies-with-system-text-json-5gdr03rjh)[Finding the total number of processors on a machine with .NET](/posts/finding-the-total-number-of-processors-on-a-machine-with-net-glydgpfb0)[Automatic CSRF protection based on Fetch Metadata headers](/posts/automatic-csrf-protection-based-on-fetch-metadata-headers-4wx4vjldj)[Understanding the Fetch Metadata HTTP headers: Sec-Fetch-Site and friends](/posts/understanding-the-fetch-metadata-http-headers-sec-fetch-site-and-friends-erlzmca7a)[Improvements to reading Process outputs](/posts/improvements-to-reading-process-outputs-i5wjovvq4)[Closed class hierarchies](/posts/closed-class-hierarchies-xmmjyy63z)[Avoiding ToString() allocations with StringBuilder.MoveChunks](/posts/avoiding-tostring-allocations-with-stringbuilder-movechunks-ebooht7ic)[Running background tasks in Blazor with Web Workers](/posts/running-background-tasks-in-blazor-with-web-workers-obhsj0bjj)[New features in Git 2.54: easier rebasing, hooks, and statistics](/posts/new-features-in-git-2-54-easier-rebasing-hooks-and-statistics-ntprj6fi2)[Removing byte\[\] allocations in .NET Framework using ReadOnlySpan<T>](/posts/removing-byte-allocations-in-net-framework-using-readonlyspan-t--ujiqinv7e)

## Most upvoted posts from .NET Escapades

## Best discussed posts from .NET Escapades

## All posts from .NET Escapades

```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":"Organization","@id":"https://daily.dev/sources/andrewlock#organization","name":".NET Escapades","url":"https://daily.dev/sources/andrewlock","logo":{"@type":"ImageObject","url":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/74ebd66cf7e840b6b29913eae3da9189"},"description":"Andrew Lock's blog focuses on ASP.NET Core development, web APIs, and software architecture. Readers can find tutorials, code samples, and explanations covering topics such as RESTful API design, authentication, and authorization in ASP.NET Core. Additionally, they can learn about dependency injection, middleware, and performance optimization techniques."},{"@type":"CollectionPage","@id":"https://daily.dev/sources/andrewlock#page","url":"https://daily.dev/sources/andrewlock","name":".NET Escapades posts on daily.dev","description":"Andrew Lock's blog focuses on ASP.NET Core development, web APIs, and software architecture. Readers can find tutorials, code samples, and explanations covering topics such as RESTful API design, authentication, and authorization in ASP.NET Core. Additionally, they can learn about dependency injection, middleware, and performance optimization techniques.","about":{"@id":"https://daily.dev/sources/andrewlock#organization"},"isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Sources","item":"https://daily.dev/sources"},{"@type":"ListItem","position":3,"name":".NET Escapades"}]}]}
```

