ایجاد Web Service برای بازگرداندن داده های XML و JSON

چهارشنبه 9 دی 1394

در این مقاله قصد داریم نحوه ایجاد Web Service را در NET. بررسی کنیم و برای آن متدهایی که داده را به صورت XML و JSON باز می گردانند، پیاده سازی کنیم.

ایجاد Web Service برای بازگرداندن داده های XML و JSON

در این مقاله قصد داریم نحوه ایجاد  Web Service  را در  NET. بررسی کنیم و برای آن متدهایی که داده را به صورت  XML و JSON باز می گردانند پیاده سازی کنیم.

در ابتدا به نحوه ایجاد  Web Service  می پردازیم.

یک پروژه  MVC به صورت  Empty ایجاد کنید.

به آن یک  Web Service  با نام  webservice1 اضافه کنید.

Connection String  یا رشته اتصال را به صورت زیر در  Web.Config  تنظیم کنید.

  <connectionStrings>
    <add name="Connection" connectionString="Data Source=.;Initial Catalog=Timesheet;User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
  </connectionStrings>

 

و منابع  System.Data  و  System.Data.SqlClient و  System.Configuration را اضافه کنید.

 

جدول  Employee را در دیتابیس به صورت زیر ایجاد کنید.

/****** Object: Table [dbo].[Employee] Script Date: 09-12-2015 23:40:32 ******/  
SET  
ANSI_NULLS ON GO  
SET  
QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Employee](  
[EmpId] [int] IDENTITY(1, 1) NOT NULL,  
[EmpFirstName] [nvarchar](50) NULL,  
[EmpLastName] [nvarchar](50) NULL,  
[DeptId] [int] NULL,  
CONSTRAINT [PK_Employee] PRIMARY KEY CLUSTERED ([EmpId] 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 

 

 

 متد زیر را در  web Service  خود اضافه کنید. این متد جزئیات کارمندان را در فرمت  XML نشان خواهد داد.

 [WebMethod]  
public DataSet getEmp()  
{  
   string sql = "SELECT [EmpId],[EmpFirstName],[EmpLastName],[DeptId] FROM Employee";  
   SqlDataAdapter da = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["Connection"].ToString());  
   DataSet ds = new DataSet();  
   da.Fill(ds);  
   return ds;  
} 

برنامه را ذخیره و اجرا کنید. خروجی به صورت زیر خواهد بود .

بر روی  invoke  کلیک کنید.

نتیجه را که شامل اطلاعات کارمندان است به صورت  XML نشان می دهد.

 

اکنون برای بازگرداندن داده ها به صورت  JSON ، از  Nuget Manager  ، فایل  newtonsoft.json  را نصب کنید. برای این کار به  Tools سپس  NuGet Pakage Manager  رفته و بر روی  Pakage Manager console کلیک کنید.

دستور زیر را در آن وارد کنید.

Install-Package Newtonsoft.Json

منبع  Newtonsoft.Json به پروژه شما اضافه خواهد شد.

 

اکنون منبع  آن را در  web service  اضافه کنید.

 

متد  GetEmployee را همانند  getemp ایجاد کنید. تنها تفاوت آن در استفاده از  jsonConvert.Serializateobject برای  Serialize کردن داده ها است.

[WebMethod]  
public string getEmployee()  
{  
   string sql = "SELECT [EmpId],[EmpFirstName],[EmpLastName],[DeptId] FROM Employee";  
   SqlDataAdapter da = new SqlDataAdapter(sql, ConfigurationManager.ConnectionStrings["Connection"].ToString());  
   DataSet ds = new DataSet();  
   da.Fill(ds);  
   return JsonConvert.SerializeObject(ds, Newtonsoft.Json.Formatting.Indented);  
}  

اکنون برنامه را اجرا کنید و  getEmployee  را  invoke  کنید. 

 

داده ها را در فرمت  JSON نمایش می دهد.

 

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید