مراحل ایجاد و استفاده از سرویس های WCF در ویژوال استودیو

پنجشنبه 1 بهمن 1394

در این مقاله مرحله به مرحله نشان خواهیم داد چگونه می توان یک سرویس WCF ایجاد کرد و از آن در برنامه های ASP.net استفاده کرد.

مراحل ایجاد و استفاده از سرویس های WCF در ویژوال استودیو

در این مقاله مرحله به مرحله نشان خواهیم داد چگونه می توان یک سرویس  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();

} 

برنامه را اجرا کرده و نتیجه زیر را مشاهده میکنیم.

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

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

نویسنده 3355 مقاله در برنامه نویسان
  • WCF
  • 3k بازدید
  • 7 تشکر

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

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