مراحل ایجاد و استفاده از سرویس های WCF در ویژوال استودیو
پنجشنبه 1 بهمن 1394در این مقاله مرحله به مرحله نشان خواهیم داد چگونه می توان یک سرویس WCF ایجاد کرد و از آن در برنامه های ASP.net استفاده کرد.
در این مقاله مرحله به مرحله نشان خواهیم داد چگونه می توان یک سرویس WCF ایجاد کرد و از آن در برنامه های ASP.net استفاده کرد.
در صورت تمایل میتوانید به صورت رایگان آموزش WCF به همراه پروژه عملی را در سایت تاپ لرن مشاهده کنید .
برای ایجاد سرویس از بخش New Project گزینه WCF را انتخاب کرده و سپس Service Library را انتخاب میکنیم.
Solution به شکل زیر خواهد بود :

در اینجا متدی را پیاده سازی خواهیم کرد که لیستی از کارمندان را بر میگرداند و به GridView در ASP.net اتصال می دهد.
متد زیر را در IService1.cs اضافه میکنیم.
[ServiceContract]
public interface IService1
{
[OperationContract]
List<Employee> GetEmployeesData();
}
بر روی Solution راست کلیک کرده و یک کلاس با نام Employee برای DataContract ایجاد میکنیم.
[DataContract]
public class Employee
{
[DataMember]
[Display(Name = "کد کارمندی")]
public int EmployeeID { get; set; }
[DataMember]
[Display(Name = "نام")]
public string FirstName { get; set; }
[DataMember]
[Display(Name = "نام خانوادگی")]
public string LastName { get; set; }
[DataMember]
[Display(Name = "سن")]
public int Age { get; set; }
}
بر روی Service1.svc کلیک کرده و رابط IService1 را پیاده سازی میکنیم.
public List<Employee> GetEmployeesData()
{
List<Employee> lstEmployees = new List<Employee>(){
new Employee{EmployeeID=101,FirstName="سارا ", LastName="احمدی",Age=25,},
new Employee{EmployeeID=102,FirstName="زهرا",LastName="فاضلی",Age=35},
new Employee{EmployeeID =103,FirstName="آرش",LastName="پیروزی",Age=28}
};
return lstEmployees;
}
برای تست این سرویس Service1.svc را انتخاب کرده ، یا Service1.svc را به صورت startup قرار میدهیم و F5 را میفشاریم.
بر روی نام متد دبل کلیک کرده و سپس بر روی Invoke کلیک میکنیم.

برای استفاده از این سرویس بر روی Solution کلیک راست کرده و گزینه New Website را انتخاب میکنیم.
بر روی وب سایت ایجاد شده راست کلیک کرده و Add Service Reference را انتخاب میکنیم. سرویس مورد نظر را انتخاب کرده و وب سایت اضافه میکنیم.

Web.Config را باز کرده و تنظیمات سرویس را به صورت زیر به آن اضافه میکنیم.
<system.serviceModel> <bindings> <basicHttpBinding> <binding name="BasicHttpBinding_IService1" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://localhost:6524/Service1.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IService1" contract="EmployeeService.IService1" name="BasicHttpBinding_IService1" /> </client> </system.serviceModel>
یک وب فرم به وب سایت اضافه کرده و کدهای زیر را در آن قرار می دهیم.
<body dir="rtl">
<form id="form1" runat="server">
<div>
<h3><a href="http://barnamenevisan.org/">مرجع تخصصی برنامه نویسان</a></h3>
<h2>اتصال سرویس WCF به GridView</h2>
</div>
<div>
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
</form>
به صفحه Default.aspx.cs رفته و برای دسترسی به EmployeService کدهای زیر را وارد میکنیم. توجه داشته باشید که فضای نام using EmployeeService; را در این صفحه قرار دهید.
protected void Page_Load(object sender, EventArgs e)
{
Service1Client employeeSvc = new Service1Client();// Instantiate the Service1client
GridView1.DataSource = employeeSvc.GetEmployeesData();
GridView1.DataBind();
}
برنامه را اجرا کرده و نتیجه زیر را مشاهده میکنیم.

- WCF
- 4k بازدید
- 7 تشکر