our team is mantaining and developing a .NET web service written in C#. We have stress tested the web service's farm and we have evidence that the actual architecture doesn't scale well, as the number of request are constantly increasing.We analyzed Martin Fowler's conclusion in this article, and our team feels that migrating to an asynchronous programming model such as the one described could be the right direction to point to for our service too. My question is: do you think that this switch needs a complete rewrite of the application? Has been someone of you been able to adopt APM without rewriting everything and has some insight to share?Thank you in advance
Transitioning to asynchronous programming model
c#;.net;web services;asynchronous programming
Use the async and await keywords in C# 5.0.  These keywords allow you to insert the async functionality into the method calls that require it, without having to create callback mechanisms.  The callbacks are created for you automatically by the compiler, under the covers.  This should greatly simplify the refactoring effort.Anders Hejlsberg describes the async functionality in this video, with a detailed example application and demonstration.