Web services allow programs written in different languages on different platforms to communicate with each other in a standards-based way. Web services play a key part in the service oriented architecture and help on scaling applications. More and more applications use Web services.
Web services are slow due to the latency involved when making calls across a network. Applications consuming Web service calls face performance issues. For examples, Microsoft® Windows® Forms applications, for instance, may appear frozen while they wait for a call to a Web service to return. If you are calling a Web service from a Microsoft® ASP.NET page, you may find that multiple Web service calls make your page display many times slower. If you have an application that is making many Web service calls, then it's important to think about how to call them as efficiently as possible.
In this article, I will review the various options provided by the Microsoft .NET Framework for making Web service calls and focus on addressing performance issues when making Web service calls. I will focus on three kinds of clients consuming Web services: Windows Forms clients, ASPX pages, Web services.
You can find most materials in this article in Matt Powell’s excellent articles [1], [2], [3].