Web services are perhaps the most important feature of .NET development. They take componentization to a new level by allowing method calls to be made over the Internet or over an intranet using standard protocols such as HTTP and SOAP. This means that the calling application needs to know nothing about the internal implementation of the service - a web service built in C# on the .NET platform will (in theory) be indistinguishable from one built on Linux using Java. The .NET Framework provides two ways to build web services - ASP.NET and .NET Remoting. Unlike most books on web services, this book covers both of these technologies in depth. .NET Remoting web services require a little extra effort to build, but they offer us greater flexibility. They allow us to use different encoding and channels, and they can be hosted in any application, not just IIS. This book covers: This book covers building web services and web service clients with both ASP.NET and .NET Remoting. We also look at the generic protocols used by web services - SOAP, WSDL, and we discuss discovering web services using Universal Description, Discovery and Integration (UDDI). Case studies illustrate the integration of web services into an application, and demonstrate how to create a custom channel sink to apply cryptography to a Remoting web service.