Operations | Monitoring | ITSM | DevOps | Cloud

16 common mistakes C#/.NET developers make (and how to avoid them)

As developers, we often fall into common pitfalls that impact the performance, security, and scalability of our applications. From neglecting data validation to overengineering, and from ignoring async/await to mishandling resource disposal, even experienced C# developers can make these mistakes. In this post, I've gathered some of the most frequent issues developers encounter in C# and how to avoid them with practical solutions.

Understanding GraphQL in .NET: When and why to use it

APIs are the heart of most modern applications. Due to their simplicity and lightweight design, RESTful APIs are a popular choice for client-server communication in most applications. However, APIs can become limiting when fetching complex or related data. The front end may over-fetch or under-fetch the meaningful data. For example, different pages require different responses. RESTFul APIs require different field endpoints, each involving repetitive complex joining conditions.

The NuGet packages we use to build elmah.io revisited

Four years ago, I wrote the blog post The NuGet packages we use to build elmah.io. Since then, we have made several changes to our tech stack as well as upgraded to recent versions of.NET. For this post, I'll update you on the packages we use as of writing this post. I hope you will find some inspiration in seeing how a system like elmah.io is built.

How to Monitor Your App's Performance with .NET Benchmarking

Benchmarking is essential in application development, especially if you aim to scale up your app. Benchmarking enables you to evaluate your application's resource consumption, which helps you identify potential updates to speed up performance. If not scaling, you will need the application performance to be optimal to enhance user experience and reduce memory and processing costs.

C# 13 Features: What's New and How to Use It

C# has always been one of the most popular programming languages among developers. It continuously evolves to meet timed features and trends. Its robustness and flexibility make it an all-purpose language and ideal for domains like desktop applications, enterprise systems, web development, games, and cross-platform and native mobile applications. With the launch of.NET 9, Microsoft introduced C# 13, equipped with new features to improve developer productivity and code quality.

Schedule Background Job using Quartz.NET

You may have encountered a situation where you must do some backend job without user intervention. For example, in an IOT application, your application needs to receive frequently published data from devices or send scheduler values to devices. .NET provides background job libraries for such tasks. I will discuss one of the background libraries, Quartz.NET, with a coding example. I will break down Quartz for you with simple, practical examples.

What's new in .NET 9: System.Text.Json improvements

.NET 9 is releasing in mid-November 2024. Like every.NET version, this introduces several important features and enhancements aligning developers with an ever-changing development ecosystem. In this blog series, I will explore critical updates in different areas of.NET. For this post, I will look through advancements in System.Text.Json.

What's new in .NET 9: Two new LINQ methods

.NET 9 is releasing in mid-November 2024. Like every.NET version, this introduces several important features and enhancements aligning developers with an ever-changing development ecosystem. In this blog series, I will explore critical updates in different areas of.NET. In this post, I'll look at two new LINQ methods: CountBy and AggregateBy.

Exploring C# 11 Features: What's New and How to Use It

C# has been a popular programming language for many years now. It continuously evolves to include new features and adopt recent trends. Its flexibility makes it a language ideal for many different domains and platforms like desktop applications, enterprise systems, web development, games, cross-platform, and native mobile applications. Back when Microsoft launched.NET 7, this also included a new version of C# with version number 11.

What's new in .NET 9: Cryptography improvements

.NET 9 is releasing in mid-November 2024. Like every.NET version, this introduces several important features and enhancements aligning developers with an ever-changing development ecosystem. In this blog series, I will explore critical updates in different areas of.NET. For today's post, I'll present some improvements to Cryptography.