用VS2012创建和使用WebService


1.打开VS2012,选择“文件”=>“新建”=>“项目”,弹出“新建项目”窗口。

技术分享

2.选择“Web”=>“ASP.NET空Web应用程序”,可以为新建项目设置“名称”、“位置”、“解决方案名称”,然后点击“确定按钮”,就创建了一个ASP.NET的空Web应用程序。

技术分享

3.右键单击项目名称,选择“添加”=>“新建项”,弹出“添加新项”窗口。

技术分享

4.选择“Web”=>“Web服务”选项,可以为新建项修改“名称”,然后单击“添加”按钮,成功添加了一个以.asmx为后缀的Web Services项。

技术分享

5.打开新建的Web Service服务,修改代码如下:

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

namespace MyWebService
{
    /// <summary>
    /// Summary description for FirstService
    /// Web Service的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // 若要允许使用ASP.NET AJAX从脚本中调用此Web服务,请取消注释以下行
    // [System.Web.Script.Services.ScriptService]
    public class FirstService : System.Web.Services.WebService{

        [WebMethod]
        public int ForSUM(int a, int b){
            int sum = 0;
            for (int i = a; i <= b; i++){
                sum += i;
            }
            return sum;
        }

        [WebMethod]
        public int ForMul(int a, int b){
            int sum = 0;
            for (int i = a; i <= b; i++){
                sum *= i;
            }
            return sum;
        }

    }
}

6.将上述程序发布。然后在浏览器中打开可以看到下图:

技术分享

7.下边开始测试Web Service,创建一个新的工程,并添加一个“Web窗体”。

技术分享

8.右键单击项目下的“引用”,选择“添加服务引用”,弹出“添加服务引用”对话框。

技术分享

9.单击左下角的“高级”按钮,弹出“服务引用设置”对话框。

技术分享

10.单击左下角的“添加Web引用”按钮,弹出“添加Web引用”对话框。

技术分享

11.在URL中输入发布的WebService的URL地址,可以点击URL后的按钮,系统会搜索到服务.并且为Web引用设置一个引用名.此引用名将是我们在项目中引用这个服务的命名空间。点击“添加引用”按钮,成功添加该引用。

技术分享

12.在VisitForm.aspx中添加以下代码:

<form id="form1" runat="server">
    <div>
        <table>
            <tr>
                <td> <asp:Label ID="labA" runat="server" Text="A">a</asp:Label> </td>
                <td> <asp:TextBox ID="txtA" runat="server"></asp:TextBox> </td>
            </tr>
            <tr>
                <td> <asp:Label ID="labB" runat="server" Text="B">b</asp:Label> </td>
                <td> <asp:TextBox ID="txtB" runat="server"></asp:TextBox> </td>
            </tr>
            <tr>
                <td> <asp:Button ID="btnSum" runat="server" Text="求和" OnClick="btnSum_Click" /> </td>
                <td> <asp:Button ID="btnMul" runat="server" Text="求积" OnClick="btnMul_Click" /> </td>
            </tr>
        </table>
        <asp:Label ID="labResult" runat="server" Text=""></asp:Label>
    </div>
    </form>

13.在VisitForm.cs中添加以下事件代码:

protected void btnSum_Click(object sender, EventArgs e)
        {
            FirstService fs = new FirstService();
            int a = txtA.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtA.Text.ToString().Trim());
            int b = txtB.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtB.Text.ToString().Trim());
            labResult.Text = "求和结果:" + fs.ForSUM( a, b ).ToString();
            
            
        }

        protected void btnMul_Click(object sender, EventArgs e)
        {
            FirstService fs = new FirstService();
            int a = txtA.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtA.Text.ToString().Trim());
            int b = txtB.Text.ToString().Trim() == "" ? 0 : Convert.ToInt32(txtB.Text.ToString().Trim());
            labResult.Text = "求积结果:" + fs.ForMul(a, b).ToString();
        }

14.运行结果显示如下:

求和:技术分享

求积:技术分享




郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。