ASP.NET: How to Create a Web Service in C#
By FoxLearn 4/27/2021 7:18:47 AM 10.4K
First, You need to create a new ASP.NET project. If you don't know, you can see this post How to Create ASP.NET Web Form in Visual Studio 2019.
How to create a web service in c# visual studio 2019
This is a simple example web service that allows you to insert update delete data from SQL Server.
To start creating a web service you need to follow these steps in Visual Studio.
Right-clicking on your ASP.NET project, then select Add =>New Items... => Visual C# =>Web
Opening your Microsoft SQL Server Management Studio, then run the sql script below.
CREATE TABLE [dbo].[Payments]( [Id] [int] IDENTITY(1,1) NOT NULL, [FullName] [nvarchar](100) NULL, [Amount] [decimal](18, 2) NULL, [Note] [nvarchar](255) NULL, [PaymentDate] [datetime] NULL, CONSTRAINT [PK_Payments] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
We wil create a payments table allows you to store payments.
Next, We will use Entity Framework to connect to sql database and perform insert, update, delete actions.
Right-clicking on your project, then select Add => New Items... =>Visual C# =>Data
Entering your model name, then click Add button.
Selecting EF Designer from database, then click Next button.
Clicking New connection button.
Entering your sql connection information, then click OK button.
Entering your connection string name, then click Next button.
Selecting table you want to play demo, then enter your model namespace => Click Finish button.
Clicking OK button to continue.
If you get it right, you will see the following table in the diagram.
How to create web service in asp.net using c# with example
Next, Rebuild your project, then open PaymentService class.
/// <summary> /// Summary description for PaymentService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class PaymentService : System.Web.Services.WebService { }
Creating a GetAll method allows you to get all data from payments table.
[WebMethod] public List<Payment> GetAll() { using (AppContext db = new AppContext()) { return db.Payments.ToList(); } }
Creating an Insert method allows you to insert data to payments table.
[WebMethod] public bool Insert(string fullName, decimal amount, string note) { using (AppContext db = new AppContext()) { db.Payments.Add(new Payment() { FullName = fullName, Amount = amount, Note = note, PaymentDate = DateTime.Now }); return db.SaveChanges() > 0; } }
Creating an Update method allows you to update data from payments table.
[WebMethod] public bool Update(int id, string fullName, decimal amount, string note) { using (AppContext db = new AppContext()) { var obj = db.Payments.Find(id); if (obj != null) { obj.FullName = fullName; obj.Amount = amount; obj.Note = note; obj.PaymentDate = DateTime.Now; } return db.SaveChanges() > 0; } }
Creating a Delete method allows you to delete record from payments table.
[WebMethod] public bool Delete(int id) { using (AppContext db = new AppContext()) { var obj = db.Payments.Find(id); if (obj != null) db.Payments.Remove(obj); return db.SaveChanges() > 0; } }
As you can see, web service is just a class that contains methods to perform a certain task and is marked above the method with the [WebMethod] property.
Press F5 to run your project, then click Insert method.
You can easily test the web service methods. Through this c# example, i showed you how to create a web service in c#, as well as how to use web service in asp.net c#.