Try to start from the bottom up, or you will run into dead ends (
Console applications behave differently from web and user interface applications, how much they handle locks if they are NOT handled properly. If you use MVC, use the ActionResult asynchronous task and wrap the special synchronous calls in Task.Run (() => SYNCCODE) using async and expect. A similar process with UI code using async / await when using event methods (such as Click event handlers).
I usually transfer my synchronization calls to asynchronous versions and treat them as tasks. If these synchronization methods can use Async versions of .NET methods, I try to "go deeper" whenever possible.
Ryan Peters Jun 18 '14 at 23:27 2014-06-18 23:27
source share