博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web Service 简单应用,创建及调用过程(图文)
阅读量:7089 次
发布时间:2019-06-28

本文共 2440 字,大约阅读时间需要 8 分钟。

(一)  WebService 应用的创建

首先,打开VS2005,打开"文件-新建-网站",选择"ASP.NET Web服务"

 

查看Service.cs代码,你会发现VS.Net 2005已经为Web Service文件建立了缺省的框架。原始代码为:

using System;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。// [System.Web.Script.Services.ScriptService]public class Service : System.Web.Services.WebService{    public Service()    {        //如果使用设计的组件,请取消注释以下行         //InitializeComponent();     }    [WebMethod]    public string HelloWorld()    {        return "Hello World";    }}

可直接运行 Service.asmx 查看,效果如下:

点击它可以进行调用这个默认的 HelloWorld 方法,返回一个 XML 格式的结果,说明我们的这个简单 WebService 环境正常.

 

现在,我们手动向 Service.cs 类中添加一个简单的求和方法,代码如下:

using System;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。// [System.Web.Script.Services.ScriptService]public class Service : System.Web.Services.WebService{    public Service()    {        //如果使用设计的组件,请取消注释以下行         //InitializeComponent();     }    [WebMethod]    public string HelloWorld()    {        return "Hello World";    }    [WebMethod(Description="两个整数的求和")]    public int Sum(int a,int b)    {        return a + b;    }}

这里要注意的是, 如果我们写了一个函数,并希望此函数成为外部可调用的接口函数,我们必须在函数上面添上一行代码[WebMethod(Description="函数的描述信息")],如果你的函数没有这个申明,它将不能被用户引用.

注1: Description="函数的描述信息" 这一段可以省略,不会影响方法被调用,不过一般会补上方法的简略介绍.
注2: Service 类中也是可以包含不被外界所调用的方法的,这点不要混淆.

运行后效果如下:

点击 Sum 会出现下图:

输入 a,b 的值并调用后,返回 XML 形式的结果页面.
至此,创建一个简单的 WebService 应用已经完成,只须将其在服务器上发布,就可以被用户调用了.

 

 

(二)  WebService 应用的调用

无论是创建 WinForm 应用程序或是 ASP.NET 应用程序,调用 WebService 服务都是非常简单的,步骤和要点如下:

  1. 在服务器上发布这个创建好的 Web 应用,例如在本机的 IIS 上配置这个新的 Web 服务,如图:
  2. 在资源管理器的工程中点击右键,选择添加 Web 引用,找到目标服务,点击 添加应用.
  3. 添加成功后在工程中如图:
  4. 必须实例化 Web 服务,才能调用 Web 方法.本例中后台代码调用 Web 方法如下:
    public partial class _Default : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        btnDo.Click += new EventHandler(btnDo_Click);    }    void btnDo_Click(object sender, EventArgs e)    {        localhost.Service S = new localhost.Service();        txtResult.Text = S.Sum(Convert.ToInt32(txtNum1.Text), Convert.ToInt32(txtNum2.Text)).ToString();    }}
你可能感兴趣的文章
Tomcat7.0.26的连接数控制bug的问题排查
查看>>
《移动网页设计与开发 HTML5+CSS3+JavaScript》—— 2.4 微格式
查看>>
《面向机器智能的TensorFlow实践》安装TensorFlow10
查看>>
《你必须知道的495个C语言问题》一第1章 声明和初始化(1.1-1.20)
查看>>
如何在 Ubuntu 上安装 FireFox 15
查看>>
SQL Server FullText解决Like字句性能问题
查看>>
Ceph实验室:第五课:Ceph运维之换盘
查看>>
C++实践参考——复数类中的运算符重载
查看>>
【Spark Summit East 2017】为了乐趣和利润的全球扩张
查看>>
Rss订阅
查看>>
Mac - gdb配置
查看>>
Vuejs——(4)v-if、v-for
查看>>
让Spark成为你的瑞士军刀
查看>>
[LeetCode]--40. Combination Sum II
查看>>
ART世界探险(16) - 快速编译器下的方法编译
查看>>
多线程常用方法 sleep wait join等以及对锁的控制
查看>>
Redis学习笔记
查看>>
主机无法访问虚拟机的apache解决办法
查看>>
YII GET方式参数重复/叠加的解决办法
查看>>
[转]maven创建自定义的archetype
查看>>