Async programming is awesome! It's fundamental to create scalable and performant web applications. One problem I've run into often is how to catch exceptions when using a Task.WhenAll(). Lets take a look at one approach that ensures individual exceptions are caught and then handled or logged.
Level up with the easiest way to measure the performance of your .NET Code. Stop wondering whether your code is slow, start testing to ensure the code you're shipping doesn't have any crippling speed or memory issues. BenchmarkDotNet is the go-to choice for anything performance related in the C#/.NET environment.
C# is a typed language, and generally requires explicit casting when moving between types. But one language feature, implicit conversion, allows you to implicitly move between types. It's a handy feature that probably shouldn't be overused.
Github actions help you create easy and useful workflows. Want to build/test on every checking, PR that's opened, or code that's merged? Github actions have you covered. See what life can be like with some Github actions in your project.
Swagger is an awesome tool for using and testing APIs. Swagger integrates seamlessly with C# and will automatically generate an API interface for your API project. See how easy it is to plug into .NET Core API and start using.
.NET Core has gone through a lot of transformation. Finally in it's 3.0 release, it finally adds a method that allows you to create an API without any View related code or logic.
Entity Framework takes C# queries and turns them into SQL queries. Expression trees power that mapping and transformation. Expression trees are a nerdy language feature you may not know about, but they power a surprising amount of things in C#.
Async methods are one of the best tools to write performant and scalable web applications. But what is the cost of having async methods that don't actually have any asynchronous functionality? I'm sure you've written one before. Lets take a look at how it degrades the performance of the function.