WebService 使用的简单例子

 Web服务是什么 

  Web服务的宗旨是创建不需要用户界面就能与其他应用程序交互的Web应用程序。它是松耦合的,并与服务器端和客户端所使用的操作系统、编程语言都无关,这样就在一定的情况下就会使你的效率大大提高。但创建Web服务必须保证的是,服务器端和客户端都要支持行业标准协议HTTP、SOAP(simple object access protocal 简单对象访问协议)和XML。

简单的例子

首先在要先创建web服务,就是.asmx后虚名的文件。

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

namespace Learning
{
    /// <summary>
    /// WebService1 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
    // [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {
        //构造并填充info数组
        string[,] strStuInfo ={
                    {"200511020120","贰零零五届","人文法律学院","社会工作","(1)班","无悔","1"},
                    {"200511020121","贰零零五届","人文法律学院","社会工作","(1)班","梁需","2"},
                    {"200511010122","贰零零五届","人文法律学院","法律专业","(1)班","陆磊","3"},
                    {"200511010220","贰零零五届","人文法律学院","法律专业","(2)班","白灵","4"},
                    {"200511010221","贰零零五届","人文法律学院","法律专业","(2)班","剑付","5"},
                    {"200511020222","贰零零五届","人文法律学院","社会工作","(2)班","敬意","6"},
                    {"200511100120","贰零零五届","化工生物学院","生物制药","(1)班","黄兴","7"},
                    {"200511100221","贰零零五届","化工生物学院","生物制药","(2)班","蕾蕾","8"},
                    {"200511100322","贰零零五届","化工生物学院","生物制药","(3)班","白冰","9"},
                    {"200611120120","贰零零六届","化工生物学院","发酵工程","(1)班","书并","10"},
                    {"200611120121","贰零零六届","化工生物学院","发酵工程","(1)班","小鱼","11"},
                    {"200611120421","贰零零六届","化工生物学院","发酵工程","(4)班","声声","12"},
                 };

        [WebMethod(Description = "根据学号获得学生的姓名")]
        public string GetName(string strStuNum)
        {
            for (int i = 0; i < strStuInfo.GetLength(0); i++)
            {
                if (String.Compare(strStuNum, strStuInfo[i, 0], true) == 0)
                    return strStuInfo[i, 5].ToString();
            }
            return "您输入的学号不存在";
        }

        [WebMethod(Description = "根据学号获得学生的专业和班级")]
        public string GetClass(string strStuNum)
        {
            for (int i = 0; i < strStuInfo.GetLength(0); i++)
            {
                if (String.Compare(strStuNum, strStuInfo[i, 0], true) == 0)
                {
                    return strStuInfo[i, 3].ToString() + strStuInfo[i, 4].ToString();
                }
            }
            return "您输入的学号不存在";
        }

        [WebMethod(Description = "根据学号获得学生的入学时间")]
        public string GetYear(string strStuNum)
        {
            for (int i = 0; i < strStuInfo.GetLength(0); i++)
            {
                if (String.Compare(strStuNum, strStuInfo[i, 0], true) == 0)
                {
                    return strStuInfo[i, 1].ToString();
                }
            }
            return "您输入的学号不存在";
        }

        [WebMethod(Description = "根据学号获得学生的学院")]
        public string GetCollege(string strStuNum)
        {
            for (int i = 0; i < strStuInfo.GetLength(0); i++)
            {
                if (String.Compare(strStuNum, strStuInfo[i, 0], true) == 0)
                {
                    return strStuInfo[i, 2].ToString();
                }
            }
            return "您输入的学号不存在";
        }

        [WebMethod(Description = "点击次数", EnableSession = true)]
        public int HitCounter()
        {
            if (Session["HitCounter"] == null)
            {
                Session["HitCounter"] = 1;
            }
            else
            {
                Session["HitCounter"] = ((int)Session["HitCounter"]) + 1;
            }
            return ((int)Session["HitCounter"]);
        }
    }
}

运行文件可以得到如下结果!

然后就是在页面调用web服务的方法(在项目添加web引用)

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

namespace Learning
{
    public partial class check : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //添加web引用后,可以把webservice实例化,调用方法
            webtest.WebService1 web = new webtest.WebService1();
            Label1.Text = web.GetYear("200511020120");
            
        }
    }
}
原文地址:https://www.cnblogs.com/lgxlsm/p/2944778.html