MSDN geekSpeak Asynchronous Programming Now and in the Future. January 12th 2011


Hello everyone!

On January 12th 2011 at 3:00 PM EST, Glen Gordon Peter Laudati and I will be doing an MSDN geekSpeak event on Asynchronous programming techniques.  We will cover a lot of different ways to write asynchronous code using the example of a smart client mentality (WPF or Silverlight) around WCF services.

While these techniques are not specific to calling WCF service and can be used for other mentalities like offloading long-running ui processes, this is a very common scenario for WPF and Silverlight applications and can help developers decide how to write their code.  We will be covering Synchronous programming, Event Based programming, Lambda Callback based programming, Worker Queue based programming and finally the new Visual Studio Async CTP (await/async) programming style.

You can view the MSDN geekSpeak blog entry with more details and the registration link to sign up here.

I hope to see y’all there and happy coding!

  1. #1 by Claudiu Toma on January 12, 2011 - 5:35 pm

    The session was instructing, however I didn’t see a lot about troubleshooting performance issues related to websites developed using Silverlight/Prism and Enterprise Library. One of the most challenging tasks is troubleshooting performance issues are once the site is published and is live and performance issues are only appearing only for a few customers using it, while others are fine. In these cases we need tools to deploy these customers to troubleshoot the performance issues. In the samw way WinDbg/procdump etc are great for Windows applications troubleshooting, we need similar tools for WCF services and Silverlight clients calling them. We know SvcTraceViewer and Fiddler are great tools, what other tools/ techniques can you pinpoint to help ?

  2. #2 by Jason Rainwater on January 12, 2011 - 6:17 pm

    Hi Claudiu,

    The purpose of this session was really to discuss techniques for writing asynchronous coding. There were other aspects that I would have loved to get into like exception handling and such especially since exception handling with the Async CTP is really really cool (you can put a try/catch around both calls to await and even if the exception happens in background thread/task it knows how to bubble up and catch in your try/catch :) ). As far as performance testing goes i dont think it really matters which techniques are used for the different ways to write asynchronous coding. One common methodology is to do method logging where you log the beginning and end of a method and can compare timestamps to see method performance on the client. The same applies to the different techniques. A lambda is still a compiled method so you might want to put a log statement at the beginning and end of your lambda to encapsulate testing at that level. With eventing and method delegates the same can apply. You could then use isolated storage with a logger to log statements down to a file then have a periodic dump of the file back to a service somewhere or something along those lines. As far as tooling goes I have not actually tried red-gate’s Ants profiler for silverlight but other red-gate profiling tools have helped for pre-testing and taking scenarios from users and running a profiler while reproducing the scenario. I apologize if this is not the type of answer you are looking for but the topic wasnt around silverlight/prism/enterprise library and performance and I am trying to answer the actual question to the best of my knowledge. I hope this information does help though :)

  3. #3 by Claudiu Toma on January 12, 2011 - 6:33 pm

    Thanks Jason for your prompt reply.

  4. #4 by Claudiu Toma on January 12, 2011 - 6:36 pm

    Do you have a link where I can download your sample presented?

  5. #5 by Jason Rainwater on January 12, 2011 - 6:43 pm

    Not yet but I will be posting a blog and the code on this website probably in the next few days

  6. #6 by Terrance on February 10, 2011 - 9:54 am

    Hey, Thanks again for coming down to Columbia, SC. The presentation definitely has me looking foward to
    C# 5. For now though I’m tempted to write a Async lib back end in F# ref it for general use. lol (Gives me an excuse to get up on my F# ) I enjoyed it and thanks again.

    (P.S. Comments are your friend. That’s right I’m that guy)

Comments are closed.