آموزش چگونگی کار با Web Service در ASP.Net

دوشنبه 4 آبان 1394

از وب سرویس برای ایجاد ارتباط بین دو برنامه توسط پروتکل های HTTP استفاده می شود. در این مقاله بوسیله یک مثال با نحوه کار با وب سرویس ها آشنا خواهید شد.

آموزش چگونگی کار با Web Service در ASP.Net

از وب سرویس  برای ایجاد ارتباط بین دو برنامه توسط پروتکل های HTTP استفاده می شود. وب سرویس تنها روی پروتک HTTP میزبانی می شود بنابراین وب سرویس اجازه ایجاد ارتباط از طریق سایر پروتکل ها مانند STP یا غیره را نمی دهد.

مراحل ایجاد وب سرویس

ویژوال استادیو را باز کرده روی File کلیک کرده و مانند زیر یک وبسایت ایجاد می نماییم.

نمایی از Solution Explorer

 

روی نام پروژه کلیک راست کرده و با انتخاب گزینه Add New Item یک وب سرویس با نام Webservice به پروژه اضافه می کنیم.

سپس Sultion Explorer به ترتیب زیر خواهد شد.

کدهای زیر را برای WebService.cs می نویسیم.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// 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 WebService : System.Web.Services.WebService {

    public WebService () {

        //Uncomment the following line if using designed components 
        //InitializeComponent(); 
    }

    [WebMethod]
    public int Add(int a, int b)
    {
        return a + b;
    }
    [WebMethod]
    public int Sub(int a, int b)
    {
        return a - b;
    }
    [WebMethod]
    public int Multiply(int a, int b)
    {
        return a * b;
    }
    [WebMethod]
    public int Divide(int a, int b)
    {
        return a / b;
    }  
    
}

تا اینجا نحوه ساخت وب سرویس را آموختیم. حال نحوه استفاده از وب سرویس را بررسی خواهیم کرد.

مراحل استفاده از وب سرویس

یک پروژه از نوع وب فرم ایجاد کرده و آن را به دلخواه طراحی نمایید.

روی نام پروژه کلیک راست کرده سپس پنجره Service Reference باز می شود.

روی دکمه Advanced کلیک کرده و با کپی کردن url از مرورگر آن را در قسمت url پنجره باز شده قرار داده و روی فلش جلوی آن کلیک می کنیم. سرویس به همراه کلیه متدها نمایش داده می شوند. در این قسمت در صورت لزوم نامی برای آن در نظر گرفته و روی Add Reference کلیک می کنیم. حال می بینید که نام سرویس اضافه شده در پوشه Service Reference در Solution Explorer قرار می گیرد.

 

سپس فرم وب را مانند زیر طراحی می کنیم.

کدهای زیر را برای ساخت فرمی برای استفاده از وب سرویس می نویسیم.

Default.aspx.cs

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server" dir="rtl">
        <div>
            <asp:Label ID="Label1" runat="server" Text="عدد اول : "></asp:Label>
            <asp:TextBox ID="TextBoxfirst" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="Label2" runat="server" Text="عدد دوم : "></asp:Label>
            <asp:TextBox ID="TextBoxsecond" runat="server"></asp:TextBox>

            <br />
            <br />

        </div>
        <asp:Button ID="Button1" runat="server" Text="جمع" OnClick="Button1_Click1"/> <hr/>
        <asp:Button ID="Button2" runat="server" Text="تفریق" OnClick="Button2_Click1" /><hr/>
        <asp:Button ID="Button3" runat="server" Text="ضرب" OnClick="Button3_Click1" /><hr/>
        <asp:Button ID="Button4" runat="server" Text="تقسیم" OnClick="Button4_Click1" /><hr/>
        <asp:Label ID="Label3" runat="server" Text="حاصل : "></asp:Label>
        <asp:TextBox ID="TextBoxResult" runat="server"></asp:TextBox>
        <h3><a href="http://www.barnamenevisan.org">مرجع تخصصی برنامه نویسان</a></h3>
    </form>
</body>
</html>

Default.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using localhost;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    WebService obj = new WebService();
    int a, b, c;

    protected void Button1_Click1(object sender, EventArgs e)
    {
        a = Convert.ToInt32(TextBoxfirst.Text);
        b = Convert.ToInt32(TextBoxsecond.Text);
        c = obj.Add(a, b);
        TextBoxResult.Text = Convert.ToString(c);
    }
    protected void Button2_Click1(object sender, EventArgs e)
    {
        a = Convert.ToInt32(TextBoxfirst.Text);
        b = Convert.ToInt32(TextBoxsecond.Text);
        c = obj.Sub(a, b);
        TextBoxResult.Text = Convert.ToString(c);
    }
    protected void Button3_Click1(object sender, EventArgs e)
    {
        a = Convert.ToInt32(TextBoxfirst.Text);
        b = Convert.ToInt32(TextBoxsecond.Text);
        c = obj.Multiply(a, b);
        TextBoxResult.Text = Convert.ToString(c);
    }
    protected void Button4_Click1(object sender, EventArgs e)
    {
        a = Convert.ToInt32(TextBoxfirst.Text);
        b = Convert.ToInt32(TextBoxsecond.Text);
        c = obj.Divide(a, b);
        TextBoxResult.Text = Convert.ToString(c);
    }
}

همچنین دقت داشته باشید که برای استفاده از وب سرویس باید روی solution راست کلیک کرده و مانند تصویر زیر عمل نمایید.

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

 

 

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

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

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

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

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