Posts

Showing posts with the label general

C#/.NET Index

These are the posts in the series: Less Known LINQ Methods C# Records Implementing the Strategy Pattern with .NET Dependency Injection .NET 10 Validation Nullable and Required Types Working with Strings in .NET C# Magical Syntax .NET Collections .NET Metrics .NET Cancellation Tokens Service Discovery in .NET Retrieving Services from Dependency Injection in .NET The Evolution of .NET Dependency Resolution Named HttpClient Registrations What's in a Task?

Domain Events Index

These are the posts in the series: Domain Events with .NET Domain Events with .NET - New Features

Isolator Index

These are the posts in the series: Introducing Isolator - a framework for running isolated code for .NET Distributed Isolator Isolator with References Scanning Docker Support for Isolator

GitHub Index

These are the posts in the series: A GitHub Actions Pipeline to Generate OpenAPI Documentation

ASP.NET Core Multitenancy Index

These are the posts in the series: Multitenancy Techniques for EF Core Multitenancy Techniques for ASP.NET Core Multitenancy Techniques for the UI in ASP.NET Core Multitenancy Techniques for the Business Logic in ASP.NET Core (TBD)

Java Versus C# Index

These are the posts in the series: Java vs C# - Part 1 Java vs C# - Part 2 Java vs C# - Part 3 Java vs C# - Part 4 (TBD)

EF Core Pitfalls Index

These are the posts in the series: Entity Framework Core Pitfalls: Calling DB Functions in LINQ Queries as Extension Methods Entity Framework Core Pitfalls: Asynchronous vs Synchronous Calls and Interceptors

ASP.NET Core Pitfalls Index

These are the posts in the series: ASP.NET Core Pitfalls – Posting a String ASP.NET Core Pitfalls - Action Constraint Order ASP.NET Core Pitfalls - Content Type Mismatch

ASP.NET Core Extension Points Index

These are the posts in the series: ASP.NET Core Extension Points - Core ASP.NET Core Extension Points - MVC ASP.NET Core Extension Points - Minimal API (TBD) ASP.NET Core Extension Points - Razor Pages (TBD)

.NET Synchronisation APIs Index

These are the posts in the series: .NET Synchronisation APIs - Part 1 - In-Process Synchronisation .NET Synchronisation APIs - Part 2 - Out-of-Process Synchronisation .NET Synchronisation APIs - Part 3 - Distributed Synchronisation (TBD)

AI and LLMs in .NET Index

These are the posts in the series: Generating Structured Code Using Azure, OpenAI and .NET Using LLMs and MCP in .NET An Orchestration Framework for .NET Agents (TBD)

Series of Posts

This is a permanent post for listing the series of posts that are still ongoing, in no particular order: Topic Status .NET AI & LLMs Work in progress .NET Synchronisation APIs Work in progress (2 missing) ASP.NET Core Work in progress ASP.NET Core Extension Points Work in progress ASP.NET Core Multitenancy Work in progress (1 missing) ASP.NET Core Pitfalls Work in progress C#/ .NET Work in progress EF Core Work in progress EF Core Pitfalls Work in progress GitHub Work in progress Java ...

MVP Renewed

Image
It was with great honour and sense of privilege that I received that email this Wednesday: I had been renewed as Microsoft Most Valuable Professional (MVP) again, for the period 2026-27! It is the third time in a row, and the 8th (I had previously been awarded from 2014-15 and until 2019. It is really a great privilege to be part of such a fantastic family, and I guess it's a recognition for something I did well - at least, so I hope! During the years I met many fellow MVPs, some of which became my friends, and I had a great time in Redmond, Bellevue, Seattle, Madrid, Rome, and Lisbon. It is a pity to see many of them gone from the programme, but there are new people, which is absolutely normal. I was actually away too for some years, until I was recommended by  Erik Ejlskov Jensen a couple years ago. I met lots of people from Microsoft, took part in 3 MVP Summits , attended many technical sessions,  and numerous Program Group Interactions and mailing list discussions. What I...

2025 in Retrospective

So, 2025 has come to an end, and we are already in 2026!  To me, 2025 was a very important year, for some reasons: I stopped using my old blog,  https://weblogs.asp.net/ricardoperes . This is essentially because Microsoft/Neudesic stopped supporting it. Most contents are still there, but there are some that are unavailable, and I don't think there's much we can do about it. Some of these contents were migrated to my new blog (here where you are reading this) Got back to posting regularly here, in some weeks, I even published more than one post Started my PhD ! I intend to write more about it soon Kept on being a Microsoft MVP ! In 2025 I published ~50 posts, of which: 1 was on GitHub Actions (my first one on this topic) 2 were on ASP.NET Core pitfalls (more to come) 2 were on EF Core pitfalls (more to come) 2 were on ASP.NET Core extension points (more to come) 2 were on OpenTelemetry and Metrics 3 were on multitenancy (more to come) 4 were non-technical, announcements or com...

Old Blog Inaccessible

My original blog at weblogs.asp.net ,  https://weblogs.asp.net/ricardoperes , has been experiencing some severe issues as of last week, as the result, it is currently inaccessible. I was told by Neudesic that they are working on it, and no loss is expected. Apologies to all readers, but it's beyond me. Fingers crossed! Update: it's back again ! Update 2: it seems that it's no longer possible to update the old blog or add any contents to it, or even log in, so please do not add any contents as I will be unable to reply to them.

How I Write Posts

This is a non-technical post, I wanted to explain a few things about my blogging. First, I usually write in British English . This is essentially because I work (and have worked in the past) for British companies, so this is the variant of English that I use daily. This has no other meaning than this. Second, I usually prepare my posts for a long time before they are actually published, but, still, things happen and I sometimes get things wrong, or wish to add/clarify something. So, I frequently make amends to posts, and sometimes I even signal them. My interests include .NET and ASP.NET Core, databases (SQL Server, Elasticsearch ), JavaScript, and web/distributed development in general. I probably won't write about Java, Go, or Python. I tend to avoid what I feel is unnecessary details, such as using directives , and the likes, and also generally keep error handling to the minimum. This doesn't mean that I don't care about it, it's just that it's usually not the po...

2024 in Retrospective

This year was very important to me, professionally. I changed job , wrote 18 + 12 posts (in the old and the new blog ) - which, accidentally, means I got a new blog after 15 years with the old one -, went to some cool Microsoft events, and, finally, was awarded as Microsoft MVP once again ! Some things didn't work out exactly as I was expecting them to, but, in general, it was a very positive year. More news coming soon! I'd like to wish you all an excellent 2025!

Welcome

Welcome to my new blog! As some of you may know, I already had a blog (since 2009), which was (and is) https://weblogs.asp.net/ricardoperes . For a few reasons, I decided to move to a different platform, and here we are. The old blog will still be there, but all the new posts will go here; it is possible that sometimes I will reference posts from there. I hope to see you here and hearing from you soon!