Coolthing Of Theday

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Thursday, 28 February 2013

Awake Await, Async Asink... Think before you async...

Posted on 07:28 by Unknown

//InterKnowlogy/ Blogs - Async or Asink?

More and more nowadays there is a push  to run more application code in an asynchronous manner to prevent blocking the UI thread and making the application unresponsive.  As the need for this type of programming becomes more prevalent thankfully the APIs to do so have also become easier to implement.  The last part (easier APIs) has led to more and more async code sprinkled through an application like the little candies on top of donuts.  Unfortunately the easier APIs also mean it’s easier to abuse the functionality by not properly implementing exception handling.

All of these async sprinkles can sink an application fast as code may be exploding left and right with the application user non the wiser.  From the users perspective everything seems like it’s ok (i.e. the app doesn’t abort or show error dialogs) but nothing seems to be working.

I’d like to take a moment to look at various ways to async a task and highlight the exception handling issues related to each.  To do this I am going to use the following program framework.  My goal each time is to first see whether an unhandled exception occurs and if so then to handle it appropriately.

...

image..."

Thought this a great, in-depth article on async and some the perils and pitfalls of async dev.

Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in .Net, C#, Development | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • Mr. 7,000! This is my 7,000th post...
    Before this post; After; 20 visits between taking these snaps? Oh wait, that's probably me searching for past related posts....
  • Rad Gate Post... Get your Red Gate Post here...
    simple talk - Melanie Townsend - Get a copy of the Red Gate Post We recently put together a newspaper of some of the best articles fr...
  • "Windows Server Essentials Media Pack" (DNLA Stream, HTML5 and Dashboard Media stuff)
    Microsoft Downloads - Windows Server Essentials Media Pack This pack enables the media streaming functionality for Windows Server 2012...
  • Windows Management Framework 4.0 (PowerShell 4, PowerShell ISE, Management OData, WMI, etc.) now available
    Keith Hill's Blog - PowerShell 4.0 Now Available You can get PowerShell 4.0 for down level operating systems now via the WMF 4.0 d...
  • Viasfora - Your new favorite Visual Studio Text/*ML Editing Extension?
    Winterdom - Introducing Viasfora A couple of days ago, I unveiled Viasfora , my latest attempt at building a decently packaged extensi...
  • "Windows Server [2012 R2]: The Best Infrastructure to Run Linux Workloads"
    In the Cloud - What’s New in 2012 R2: Enabling Open Source Software Part 4 of a 9-part series . ... There are a lot of great s...
  • [Hardware Review] It's been a Haswell Summer... Haswell/Harris Beach Intel SDS Ultrabook Review - Part 3
    Are you all tired of it yet? Have you heard it often enough already? Well too bad! Haswell is Battery Love! MUHAHAhahahahaha.... There! ...
  • [Hardware Review] Life with Haswell... Haswell/Harris Beach Intel SDS Ultrabook Review - Part 2
    "So Greg, how's life with Haswell been?" "Pretty Sweet! (Mostly)" I've been given an opportunity to review t...
  • Want the world's best Science Fiction And Fantasy Library? Come to LA... The Eaton Collection @ UC Riverside
    CBS Los Angeles - The Eaton Collection: The Best Science Fiction And Fantasy Library Science fiction and fantasy fans rejoice and take...
  • Caliburn.Micro v1.5.0 released (CM gets Tasks, Async/Await and Share/Setting for RT... and bug fixes of course)
    Caliburn.Micro - Caliburn.Micro v1.5.0 "Release Notes This release fixes many bugs. It also adds support for Task and async/a...

Categories

  • .Net
  • 3DPrinting
  • AFeedYouShouldRead
  • Agile
  • ALM
  • Amazon
  • Amiga
  • Analytics
  • Android
  • ASP.NET
  • Azure
  • BigData
  • bing
  • Blogging
  • Book
  • BookReview
  • BUILD
  • C
  • C#
  • C++
  • Career
  • Cat
  • cheatsheet
  • ClickOnce
  • Cloud
  • ComputerHardware
  • css
  • Data
  • DBA
  • DependencyInjection
  • Deployment
  • Design
  • Development
  • devops
  • DVCS
  • ebook
  • EDD
  • Education
  • EnterpriseLibrary
  • EntityFramework
  • Exchange
  • Expression
  • gadget
  • Game
  • GIT
  • Google
  • Government
  • Hadoop
  • hardware
  • HardwareReview
  • HaswellReview
  • HTML5
  • Humor
  • IE
  • IEExtension
  • IfAllElseFails
  • IIS
  • ILMerge
  • Image
  • Infographic
  • interview
  • InversionOfControl
  • Java
  • Javascript
  • Kinect
  • LightSwitch
  • LINQ
  • Linux
  • LosAngeles
  • Lucene
  • Lync
  • MEF
  • Metro
  • MicrosoftOffice
  • MicrosoftOutlook
  • Mono
  • MVC
  • MVVM
  • NetMon
  • NLP
  • NoSQL
  • NuGet
  • OData
  • OneNote
  • OpenXML
  • Paint.Net
  • Personal
  • Photosynth
  • Physics
  • portable
  • Poster
  • PowerShell
  • Preparedness
  • Presentation
  • Prism
  • PrivateCloud
  • RegEx
  • RemoteDesktop
  • Reporting
  • RIAServices
  • Science
  • ScienceFiction
  • Scratch
  • Scrum
  • ServiceBus
  • SharePoint
  • Silverlight
  • SimiValley
  • SPA
  • Space
  • SQLServer
  • Storyboard
  • Surface
  • SVG
  • SystemAdministration
  • T4
  • TeamBuild
  • TeamFoundationServer
  • TechEd
  • Training
  • TypeScript
  • UnitTesting
  • UnityApplicationBlock
  • Utility
  • Veteran
  • VirtualMachine
  • Visio
  • VisualBasic
  • VisualStudio
  • WCF
  • Web X.X
  • Webcast
  • WebFeed
  • WebMatrix
  • Windows
  • Windows7
  • Windows8
  • Windows8.1
  • WindowsHomeServer
  • WindowsLiveWriter
  • WindowsPhone
  • WindowsServer
  • WinRT
  • WiX
  • WMI
  • WOPI
  • WPF
  • XAML
  • XBox360
  • XboxOne
  • zombie

Blog Archive

  • ▼  2013 (500)
    • ►  December (12)
    • ►  November (61)
    • ►  October (65)
    • ►  September (38)
    • ►  August (47)
    • ►  July (75)
    • ►  June (39)
    • ►  May (40)
    • ►  April (42)
    • ►  March (39)
    • ▼  February (42)
      • How Microsoft and others, empowers you with PowerS...
      • Awake Await, Async Asink... Think before you async...
      • Shaping up Office 2013 with these 300 Visio icon s...
      • Today's LINQPad fun, SelectExcept! (a tip on selec...
      • Helping a sick system get better... Five Windows A...
      • Helping you Hadoop with "Hadoop illuminated" the f...
      • Robert continues to guide us in the right directio...
      • IE10 RTW now available for Windows 7 and Windows S...
      • LINQToWiki (yes, even Wikipedia)
      • Sacha say IOC you! Sacha Barber presents his Barba...
      • Robert's "One Stop VS Update Shop" guide to all th...
      • Windows 8 + Kona + Steve = Itinerary Hunter
      • ClickOnce, Windows 8 and SmartScreen (If you're us...
      • Wak-A-PST with Microsoft Exchange PST Capture 2.0
      • Excel with Excel without Excel... Seven Excel/XLS ...
      • The All-In-One Framework goes Metro... errr... umm...
      • Modernize your WPF app's with the Modern UI for WP...
      • The Expression death march continues... Expression...
      • Kevin's Tips To Technology Presentation Perfection...
      • The HTML5 Quick Start For Greg's (err... Dummies.....
      • Find your inner App Hero with these two new Window...
      • It's a Rap! The Surface Pro Rap, that is...
      • Microsoft Message Analyzer better in Beta 2 (Gantt...
      • Note to Los Angeles Metro (aka subway) riders: Don...
      • Adobe Photoshop Source Now Available! (For the 199...
      • Microsoft SQL Server Licensing Question? There's a...
      • Wiki-wiki, here's some popular PowerShell add-ons...
      • Table Per Type(TPH) Inheritance in Entity Framewor...
      • Gaming up a story with the PowerPoint Game Design ...
      • Glima!... Gilma v3 is a .Net 4.0 update...
      • "Official" Surface Getting Started Guide (free 68 ...
      • You've heard of ASCII Art? How about DNS Art!?
      • Adding a 4th row of Windows 8 Start Screen tiles t...
      • O'la! As in Ola Hallengren's SQL Server Backup, In...
      • One download of wonderful [Samples] for Windows 8....
      • Composing Maintainable XAML Apps, the nearly two h...
      • Unit Test Stored Procedures? Here's one example...
      • Intro to MVVM in four easy episodes....
      • Learn how to learn, creatively with the free MIT L...
      • Microsoft TechEd North America 2013, New Orleans, ...
      • How portable is your assembly? Check it with the P...
      • Removing the SkyDrive Pro Explorer Context Menu it...
Powered by Blogger.

About Me

Unknown
View my complete profile