I want to create a stand-alone (i.e. not hosted in IIS) web service in ASP.NET. Is this possible, and if so what's the best way to do it?
Open Visual Studio, start a new Project and select "web Service Application"
So, you want to use ASP.NET to generate a web service, but you don't want to host ASP.NET using IIS. (For those reading this, the question was made clearer in an comment to Sir Psycho's response).
Then this article would be a good start:
http://aspalliance.com/articleViewer.aspx?aId=220&pId=
It describes how you can use System.Web.Hosting namespace to process asp.net from the command line, and output the resulting HTML (or in your case XML).
Assuming you want data returned like a normal web request, you will to set up a socket to listen on port 80, interpret the HTTP requests, then use code similar to that in the article to output the results as a response to the web request.