Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
36 posts found
What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core
Backend PART 36

What's New in .NET 10: AddValidation, OpenAPI 3.1 and Server-Sent Events in ASP.NET Core

.NET 10 LTS brings AddValidation to minimal APIs, OpenAPI 3.1 and YAML, TypedResults.ServerSentEvents, System.Text.Json-based JSON Patch, dotnet run app.cs, C# 14 and breaking changes such as cookie auth 401/403.

4 Nov 2026 9 min 1
What's New in .NET 9: Built-in OpenAPI, Scalar and HybridCache in ASP.NET Core
Backend PART 35

What's New in .NET 9: Built-in OpenAPI, Scalar and HybridCache in ASP.NET Core

.NET 9 drops Swashbuckle from the template: AddOpenApi/MapOpenApi, transformers, Scalar and Swagger UI, stampede-safe HybridCache, TypedResults.InternalServerError, StatusCodeSelector, C# 13 and 24-month STS support.

4 Nov 2026 9 min 1
What's New in ASP.NET Core with .NET 8: Keyed DI, IExceptionHandler, Identity API and Native AOT
Backend PART 34

What's New in ASP.NET Core with .NET 8: Keyed DI, IExceptionHandler, Identity API and Native AOT

Keyed DI, IExceptionHandler, MapIdentityApi, ShortCircuit, TimeProvider, Native AOT and the minimal API template in .NET 8, compared with .NET 6, plus C# 12, migration notes and the November 10, 2026 end of support.

4 Nov 2026 9 min 1
What's New in ASP.NET Core with .NET 7: MapGroup, TypedResults, Rate Limiting and Output Caching
Backend PART 33

What's New in ASP.NET Core with .NET 7: MapGroup, TypedResults, Rate Limiting and Output Caching

MapGroup, TypedResults and Results<T1,T2>, endpoint filters, AddProblemDetails, rate limiting and output caching in .NET 7, compared with .NET 6, plus C# 11 required members, raw string literals and migration notes.

4 Nov 2026 9 min 1
Reading Old .NET Core 3.1 and .NET 5 Projects: Migrating from Startup.cs to .NET 6
Backend PART 32

Reading Old .NET Core 3.1 and .NET 5 Projects: Migrating from Startup.cs to .NET 6

We read the Startup.cs, Generic Host and UseRouting/UseEndpoints structure of the .NET Core 3.1 and .NET 5 era, then move the same ASP.NET Core API to .NET 6 step by step, including System.Text.Json differences.

4 Nov 2026 10 min 1
Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions
Backend PART 31

Containerizing an ASP.NET Core Web API with Docker and Setting Up CI/CD with GitHub Actions

We containerize an ASP.NET Core Web API with a multi-stage Dockerfile: dotnet publish, the layer cache, .dockerignore, ports and environment settings; then we build a GitHub Actions CI/CD pipeline that tests the code and pushes the image to ghcr.io.

4 Nov 2026 9 min 1
Integration Testing an ASP.NET Core Web API: End-to-End Tests with WebApplicationFactory
Backend PART 30

Integration Testing an ASP.NET Core Web API: End-to-End Tests with WebApplicationFactory

We spin up an ASP.NET Core Web API in memory with WebApplicationFactory and test it at the HTTP level: public partial class Program, swapping the database for in-memory SQLite, Location and ProblemDetails tests, and test isolation.

4 Nov 2026 9 min 2
Unit Testing an ASP.NET Core Web API: Service and Controller Tests with xUnit and Moq
Backend PART 29

Unit Testing an ASP.NET Core Web API: Service and Controller Tests with xUnit and Moq

Unit testing an ASP.NET Core Web API with xUnit and Moq: the right package versions for net6.0, AAA and naming, Setup and Verify, the Result/Value difference in ActionResult<T> tests, Theory, and a comparison with NSubstitute.

4 Nov 2026 11 min 1
Health Checks in ASP.NET Core Web API: Liveness, Readiness and Database Checks
Backend PART 28

Health Checks in ASP.NET Core Web API: Liveness, Readiness and Database Checks

Health checks in ASP.NET Core Web API: a database check with AddDbContextCheck, a Redis check with IHealthCheck, separating liveness and readiness, why Degraded returns 200, JSON output and timeout pitfalls.

4 Nov 2026 8 min 1
Caching in ASP.NET Core Web API: IMemoryCache, Redis and Response Caching
Backend PART 27

Caching in ASP.NET Core Web API: IMemoryCache, Redis and Response Caching

Caching in ASP.NET Core Web API: absolute and sliding expiration with IMemoryCache, delete-on-write invalidation, IDistributedCache with Redis, and which requests the response caching middleware won't cache and why.

4 Nov 2026 11 min 2
Swagger and OpenAPI in ASP.NET Core Web API: Documentation with Swashbuckle
Backend PART 26

Swagger and OpenAPI in ASP.NET Core Web API: Documentation with Swashbuckle

We add an OpenAPI document and Swagger UI to an ASP.NET Core Web API with Swashbuckle: the right package version, XML comments, documenting response types, an Authorize button for JWT, and common pitfalls with real error messages.

4 Nov 2026 10 min 1
ASP.NET Core Web API Versioning: URL, Query String and Header with Asp.Versioning
Backend PART 25

ASP.NET Core Web API Versioning: URL, Query String and Header with Asp.Versioning

To ship breaking changes without breaking old clients, we build a two-version API with Asp.Versioning.Mvc. We try URL, query string and header readers, plus deprecation and the Sunset header.

4 Nov 2026 8 min 2
Blog Map