• Web Service 学习


    一、Web Service简介

    1、Web Service基本概念

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。

    XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。

    Soap:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,他通过可以SOAP调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。

    WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。

    UDDI (Universal Description, Discovery, and Integration) 是一个主要针对Web服务供应商和使用者的新项目。在用户能够调用Web服务之前,必须确定这个服务内包含哪些商务方法,找到被调用的接口定义,还要在服务端来编制软件,UDDI是一种根据描述文档来引导系统查找相应服务的机制。UDDI利用SOAP消息机制(标准的XML/HTTP)来发布,编辑,浏览以及查找注册信息。它采用XML格式来封装各种不同类型的数据,并且发送到注册中心或者由注册中心来返回需要的数据。

    2、XML Web Service的特点

    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.WebService
    18     {
    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.Page
    11     {
    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 xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     8     <title></title>
     9 </head>
    10 <body>
    11     <form id="form1" runat="server">
    12     <div>
    13     
    14         <asp:TextBox ID="txtnum1" runat="server" Width="97px"></asp:TextBox>
    15 &nbsp; +&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中的加法运算。

  • 相关阅读:
    下载网络文件并重命名
    数据库加密解密
    java 向上向下取整
    Mybatis 批量添加,批量更新
    指定路径-读取本地文件夹中的文件-递归
    Python3.0科学计算学习之函数
    Python3.0科学计算学习之绘图(四)
    python中利用matplotlib绘图可视化知识归纳
    Python3.0科学计算学习之绘图(三)
    Python3.0科学计算学习之绘图(二)
  • 原文地址:https://www.cnblogs.com/weijie0022/p/4796522.html
Copyright © 2020-2023  润新知