async void – How to Tame the Asynchronous Nightmare

You're an intermediate dotnet programmer and you mostly know your way around using Tasks. You sprinkle async and await through your code, and everything is working just as expected. You've heard time and time again that you always want the return types of your asynchronous methods to be a Task (or Task<T>) and that async void is essentially the root of all evil. No sweat. One day you go to wire up an event handler using the syntax myObject.SomeEvent += SomeEventHandler, and your event handler needs to await some asynchronous code. You take all of the right steps and change your method signature to get that beautiful async Task added in, replacing void. But suddenly you get a compile error about your event handler not being compatible. You feel trapped. You're scared. And then you do the unspeakable... You change…

0 Comments

Tasks, BackgroundWorkers, and Threads – Simple Comparisons for Concurrency

(This article is intended to be a spiritual successor to this previous entry, and now includes Tasks!) Even if you're new to C#, you've probably come across at least one of Tasks, Threads, or BackgroundWorkers. With a bit of additional time, it's likely you've seen all three in your journey. They're all ways to run concurrent code in C# and each has its own set of pros and cons. In this article, we will explore how each one operates at a high level. It's worth noting that in most modern .NET applications and libraries you'll see things converging to Tasks. The Approach I've gone ahead and created a test application that you can find here. Because this is in source control, it's possible/likely that it will diverge from what we see in this article, so I just wanted to offer…

0 Comments

Job Titles and Responsibilities

Your New Job Title Congrats! You did it! You finally have that new job title you've been working so hard towards! Let's be honest with each other here--you were working hard for the title, not because you just wanted to see your company flourish with all the hard work you were putting in. Of course that wasn't bad or anything, it was just a nice side effect of you getting your new job title. Some great things happened once you received your new job title too! Your responsibilities shifted so now nobody can come after you when your pesky clients are complaining about your sales process, when your code won't compile into your finished product, or when employees are having conflicts in the workplace. You're literally only responsible for the two new tasks that you have attached to your job…

3 Comments

End of content

No more pages to load