I have a web application with web layer is a ASP.NET MVC 3 web application, service layer is WCF, database is MSSQL
In this article: http://blogs.msdn.com/b/tmarq/archive/2010/04/14/performing-asynchronous-work-or-tasks-in-asp-net-applications.aspx , it mentioned that I should do asynchronous processing "when the benefit of switching threads out weights the cost of the context switch.", "For example, if you make an asynchronous web service request to a remote server"
Does that mean, in every request, I should try as much as I can to use asynchronous processing (in ASP.NET MVC I assume it's asynchronous controller instead of PageAsyncTask as in ASP.NET, correct me if I'm wrong) whenever there's a call to WCF service (or if I don't use WCF service, then whenever I have a call to database) to increase the throughput of server, increase number of requests that server can process at one time?
Another question which is a bit related: does anyone know or can point me to an article that explains about connection limit when connecting to WCF from web layer like this? I heard that the limit is 5 concurrent connections at a time for WCF but cannot confirm. If it's 5 concurrent connections, it means the bottleneck is in WCF even if I increase throughput of web layer?
Thank you very much