Category: blog

blog

Advanced JWT Authentication in ASP.NET Core Minimal API. Part 1: Token Validation and Manual Generation

Introduction In a previous article, I wrote about How to Implement JWT Authentication in ASP.NET Core Minimal API, where I introduced the basic concept of JWT (JSON Web Tokens) and demonstrated how to implement authentication using the dotnet user-jwts tool. This approach provided a straightforward way to secure APIs during development by automatically handling token generation and validation. […]

Ottorino Bruni 
blog

How to Implement JWT Authentication in ASP.NET Core Minimal API

In today’s world of modern web applications, secure authentication is not just a feature – it’s a necessity. Token-based authentication, particularly using JWT (JSON Web Tokens), has become the go-to solution for securing APIs. Before we dive into the implementation, let’s understand why this matters. What Is Token-Based Authentication? Token-based authentication is a security mechanism […]

Ottorino Bruni 
blog

How to Manage Features in .NET and C# with Azure App Configuration: Centralized Feature Flags and Settings

Introduction In my previous article, “How to Turn On Features in .NET and C# Without Redeploying: Exploring Feature Flags and A/B Testing”, I introduced the concept of feature flags and explained their value in modern software development. We explored how they enable dynamic feature control, safer rollouts, and experimentation like A/B testing, all while minimizing […]

Ottorino Bruni 
blog

How to Turn On Features in .NET and C# Without Redeploying: Exploring Feature Flags and A/B Testing

Introduction Deploying new features in an application can be risky. A small mistake could lead to bugs, disrupt users, or even cause downtime. In today’s fast-paced development environment, developers need a way to enable or disable features without redeploying the entire application. This is where feature flags come in. Feature flags give developers control over […]

Ottorino Bruni 
blog

Getting Started with Serilog for .NET and C#: Structured Logging Made Easy

Introduction to Logging and Why It Matters in .NET Applications In modern software development, logging plays an essential role in monitoring, debugging, and maintaining applications. Logging is the process of recording events or messages from an application’s execution, which can provide critical insights for developers and administrators alike. Whether you’re building a small utility or […]

Ottorino Bruni 
blog

Testcontainers for C# and .NET: Simplify Integration Tests with Docker

What exactly is Testcontainers? Testcontainers is an open-source library designed to make integration testing more manageable and reliable by using Docker containers to spin up “throwaway” instances of various services. It allows developers to create lightweight, temporary versions of databases, message brokers, web browsers, and more, using real infrastructure instead of mocks or in-memory simulators. […]

Ottorino Bruni 
blog

CodeSwissKnife Beta Is Out – The Ultimate Developer Toolkit, Built by Developers for Developers!

Introduction: What is CodeSwissKnife? CodeSwissKnife is a comprehensive, offline toolkit designed specifically for developers. Whether you’re working with text formatting, encoding, or parsing, this tool brings together essential utilities to simplify your daily tasks—all while keeping your data secure on your own device. Unlike many online tools, CodeSwissKnife operates entirely offline, so you never have […]

Ottorino Bruni 
blog

How to Implement Redis Cache in .NET using Minimal APIs and C#

Introduction In a previous article, I wrote about How to Implement In-Memory Caching in .NET Console App Using C#, where I introduced the basic concept of caching and explained the difference between first-level (in-memory) and second-level (distributed) caching. In-memory caching is a powerful tool to boost application performance by storing frequently accessed data in memory, […]

Ottorino Bruni