Asynchronous And Parallel Programming In .Net – Part 8 – Exceptions

It is important to know how exceptions are handled in an asynchronous program. Partly because these subtle points can sometime become a headache. When exception are thrown in a code that runs inside a task, all the exceptions are placed on the task object and returned to the calling thread. When exceptions happen, all the … 

 

NDepend 2018 Review: A Flexible Static Analyzer

NDepend is an static analyzer which can provide various useful information about the quality of the code base. With its built in rules, it calculates how much technical debt the project is in, and estimate how many hours it takes to pay them. For the first time users, the UI might be a little overwhelming, … 

 

Asynchronous And Parallel Programming In .Net – Part 7 – Task.Run Vs TaskCompletionSource Vs Task.Factory.FromAsync

There’s a lot of small intricate details that one can miss when we deal asynchronous programs. Even though these days far more superior APIs exist that make things a lot easier. For example a lot of people think if we want to call any synchronous code asynchronously, we just simply  wrap it in Task.Run. It’s … 

 

Color Coder 1.0.1 Released

It is almost a year since I first released the Color Coder extension. I haven’t spent much time on it and planed to do it once it hit a certain amount of users. But recently with Visual Studio update 15.7 the extension didn’t work properly. So I fixed it and made other improvements to it … 

 

Build UI Tree With Recursive Asp.Net Core View Component

Previous version of Asp.Net MVC had the concept of local view helpers that could contain HTML too. You see an example of this here. But this feature is removed in Asp.Net Core, but we have a better tool to do it. There might be a lot of other replacement solution for using @helper, but in … 

 

Asynchronous And Parallel Programming In .Net – Part 6 – How Functional Programming Helps With Asynchronous And Parallel Code

There is a lot of scenarios that a functional code can introduce benefits. But asynchronous and parallel programming is one of those that fit with functional programming perfectly. I’m going use one example of this in particular. That is when we write asynchronous or parallel code, we need to consciously think about how we access … 

 

Asynchronous And Parallel Programming In .Net – Part 5 – Using Task.WhenAny And Task.WhenAll

In this post, we’re going to see when we should use Task.WhenAny and Task.WhenAll. I’m also going to explain the differences between Task.WaitAny and Task.WaitAll. Then I move on to show some example of good and bad usage of these constructs. We’re also going to see some situations such as when we need immediate processing … 

 

Asynchronous And Parallel Programming In .Net – Part 4 – Top 7 Common Mistakes

There are some common mistakes that one can see over and over again while reading an asynchronous code base. This mistakes range from egregious mistakes that can halt the whole process. To mistakes that create confusion and semantically incorrect code. So in this post, I’ll gather these common mistakes into a post with the top … 

 

Asp.Net Core API: Patch Method Without Using JsonPatchDocument

Some time ago, I needed to implement a mechanism for an API to update an entity without using JsonPatchDocument. The reason was that the user of the API didn’t want to necessarily use JSON to use the patch method. But user might want to use XML, Message Pack or any other format. What I needed … 

 

Asynchronous And Parallel Programming In .Net – Part 3 – When Should You Use Task.Delay

This post is about how Task.Delay can be used in different scenarios. Generally speaking we use Task.Delay to wait for specific amount of time in asynchronous fashion. I’m also going to explain why do we need to sometimes mimic this kind of behaviors. What Task.Delay Does? In some scenarios, we need to wait for specific …