Presumably you mean ASP.NET because ASP is something else. As for why web services are better created in ASP.NET, well, they're not. Once the web service exists then consuming it is the same regardless. If you're a .NET developer though, it makes sense to develop your web services using the same .NET tools and languages that you're used to. That said, the first choice for creating a web service using .NET these days would be WCF rather than ASP.NET.