If you want to create programmatically the reports using Crystal Reports, than this MSDN article series and this CodeProject tutorial could help you.
There are many ways resp. technologies to build a Web Service. One approach would be to build it using Microsoft ASP.NET MVC. If you want to use just ASP.NET, than this MSDN tutorial Creating and Using an ASP.NET Web Service in Visual Web Developer could help you.
One good alternative to Crystal Reports is Microsoft SQL Reporting Services (SSRS). Where i work we are doing exactly the same - replacing Crystal Reports with SSRS reports. Benefits:
- reports can be viewed online from the reporting server
- reports can be also created easily from code (any .NET framework language)
- parametrised very easily
- build-in export to excel, pdf, e-mail
- personally i find the VS IDE support better, than the Crystal Reports IDE resp. plugins for VS