ما در این مقاله قصد بر ساخت یک وب سرویس با سی شارپ داریم
مرحله اول: شما باید یک پروژه asp.net WebForm ایجاد کنید اگر بلد نیستین به مقاله زیر رجوع کنید
TopCoderZ
مرحله دوم: بر روی پروژه خودتون راست کلیک کنید و از Add =>New Item
یک Web Service اضافه کنید
Microsoft SQL Server Management Studio را ران کنید و کد زیر را اجرا کنید
1
2
3
4
5
6
7
8
9
10
11
12
|
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
|
مرحله بعدی اضافه کردن انتیتی فریم ورک است
روی پروژه راست کلیک کنید و Add => New Items... =>Visual C# =>Data یک Ado.net Entity Data Modal اضافه کنید
اگر درست پیش رفته باشید دیاگرام بالا را مشاهده می کنید
ساخت وب سرویس با ذکر مثال
پروژخ خود را ریبیلد کنید و PaymentService را باز کنید
1
2
3
4
5
6
7
8
9
10
11
12
|
/// <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
{
}
|
متد GetAll و واکشی تمام دیتا از بانک
1
2
3
4
5
6
7
8
|
[WebMethod]
public List<Payment> GetAll()
{
using (AppContext db = new AppContext())
{
return db.Payments.ToList();
}
}
|
متد اضافه کردن دیتا
1
2
3
4
5
6
7
8
9
|
[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;
}
}
|
متد اپدیت کردن
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[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;
}
}
|
متد پاک کردن دیتا
1
2
3
4
5
6
7
8
9
10
11
|
[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;
}
}
|
با F5 پروژه را اجرا کنید
تمام.