With .NET 2.0, Web service can be hosted on Windows XP desktops as an ASP.NET application. The only restriction on XP is that it only supports the default web site (TCP port 80).
As part of .NET 3.0, WCF allows any application (Console app, Windows app, even Windows service app) to host a web service by ServiceHost class. http://msdn2.microsoft.com/en-us/library/system.servicemodel.servicehost.aspx