你的位置:首页 > ASP.net教程

[ASP.net教程]Web Service 学习


一、Web Service简介

1、Web Service基本概念

Web Service也叫

Soap:(Simple Object Access Protocol)简单对象存取协议。是

WSDL:(Web Services Description Language) WSDL 文件是一个 

UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的

 

2、

1)、跨防火墙的通讯

2)、应用程序集成

3)、B2B的集成

4)、软件和数据重用

 

                  二、Web Service开发

1、首先在项目中创建一个后缀名为.asmx的Web服务

 

 

 

 

2、打开.cs文件,则可看见自动生成的原始代码:

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Services;namespace WebSerivce{  /// <summary>  /// WebService_1 的摘要说明  /// </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 WebService_1 : System.Web.Services.WebService  {    [WebMethod]    public string HelloWorld()    {      return "Hello World";    }  }}

 

 

3、运行web serivce 文件(需要把url地址先记下来)

 

4、重新创建一个项目,我们将访问上面的web服务

  web服务中添加方法

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Services; 6 7 namespace WebSerivce 8 { 9   /// <summary>10   /// WebService_1 的摘要说明11   /// </summary>12   [WebService(Namespace = "http://tempuri.org/")]13   [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]14   [System.ComponentModel.ToolboxItem(false)]15   // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消注释以下行。 16   // [System.Web.Script.Services.ScriptService]17   public class WebService_1 : System.Web.Services.WebService18   {19 20     [WebMethod]21     public string HelloWorld()22     {23       return "Hello World";24     }25 26     [WebMethod(Description = "求和的方法")]27     public int Add(int num1,int num2)28     {29       return num1 + num2;30     }31   }32 }

 

 

5、另外一个项目中添加服务引用。

 

6、接下来就可以在aspx页面中调用web服务

 

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 8 namespace FirstTest 9 {10   public partial class First : System.Web.UI.Page11   {12     protected void Page_Load(object sender, EventArgs e)13     {14 15     }16     /// <summary>17     //计算18     /// </summary>19     /// <param name="sender"></param>20     /// <param name="e"></param>21     protected void Button1_Click(object sender, EventArgs e)22     {23       int num1 = Convert.ToInt32(this.txtnum1.Text);24       int num2 = Convert.ToInt32(this.txtnum2.Text);25 26       FirstWebService.WebService_1SoapClient a = new FirstWebService.WebService_1SoapClient();27       int result = a.Add(num1, num2);28       this.txtresult.Text = result.ToString();29     }30   }31 }

 

 

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="First.aspx.cs" Inherits="FirstTest.First" %> 2 3 <!DOCTYPE html> 4 5 <html nbsp;16     <asp:TextBox ID="txtnum2" runat="server" Width="88px"></asp:TextBox>17 &nbsp;<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="计算" />18 &nbsp;19     <asp:TextBox ID="txtresult" runat="server" Width="96px"></asp:TextBox>20   21   </div>22   </form>23 </body>24 </html>

 

 

运行项目则可实现web service中的加法运算。