Introduction I have used LINQPad on and off for years. LINQPad, a powerful tool designed for .NET developers, primarily known for testing LINQ queries, it is a versatile scripting environment…
LINQPad


Introduction I have used LINQPad on and off for years. LINQPad, a powerful tool designed for .NET developers, primarily known for testing LINQ queries, it is a versatile scripting environment…

Introduction A Snowflake Generator generates unique IDs. Creating a class in C# for generating Snowflake IDs involves adhering to the structure of Snowflake IDs, as mentioned in my previous posts.…

Introduction Over the last few weeks, I have been looking at using Azure Table Storage as the backing store for several small APIs I have worked on. Azure Table Storage…

Introduction Using transactions with two Azure Storage tables can be a bit tricky, as Azure Table Storage does not support cross-table transactions in the traditional relational database sense. However, there…

Introduction Effective logging is vital for monitoring, troubleshooting, and understanding application behaviour. For .NET developers, Serilog offers a great logging framework, and when combined with Loki, Grafana's log aggregation system,…

Introduction Logging is a crucial aspect of any application. It's not just about recording what happens; it's about understanding, debugging, and improving the application. This is where Serilog shines as…

Introduction Logging is a critical aspect of any web application. It helps in debugging, performance monitoring, and understanding user interactions. In ASP.NET C#, integrating Serilog as a middleware for logging…

Introduction Performance optimisation is a crucial aspect of software development, especially when working on high-performance applications or libraries. Benchmarking your code allows you to identify bottlenecks, optimise critical sections, and…

Introduction In C#, async/await and Task serve different purposes when it comes to asynchronous programming. async/await is a language feature that simplifies asynchronous code, while Task represents a unit of…

Introduction In C#, when working with asynchronous operations that support cancellation, it's a good practice to pass a CancellationToken when appropriate. However, whether you should always pass a CancellationToken depends…