مراحل ایجاد و استفاده از سرویس های 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
- 3k بازدید
- 7 تشکر