zoukankan      html  css  js  c++  java
  • Web Service的使用

    现在的好多网站都有天气预报,网上支付等功能,其实他们只不过就是引用了人家写好的一个web应用程序,就是我们通常说的web Service,可见web sevice是多么重要,现在我们就来系统的学一下asp.net中web service

    Web service表面上就是一个应用程序,可以说就是一个通过web调用的API,其实,web Service是建立可互操作的分布式应用程序的平台,通过这个平台,才可以使客户端和服务器端自用的通过http进行通信,异地调用的Api很多,但是,都很难达到目前的要求,而web service可以跨语言跨平台的调用,在使用的过程中,它就和一个类一样,可以写和类一样的程序代码,唯一不同的是,类只能在本项目中调用,而web 服务可以跨语言跨平台跨项目调用,只要在[webMethod]下面的方法都可以调用,不错吧!

    下面就来简单的介绍一下组成web service平台的三个技术

    1、  我们知道Xml是一个可以跨语言使用的可扩展性的标记语言,而web service也就是用Xml作为平台中数据表示的基本格式

    2、  通过soap作为基本的通信协议,通过soap协议可以实现不同项目,不同站点,甚至异地调用

    3、  由于web service是基于http协议的,所以说可以穿越防火墙进行通信

    注:WSDL用来描述web Service的文件

    调用webService的方式通过下面的图看以看出有三种

    可以调用本解决方案中web服务,本机的web服务,和网络上的web服务,换句话说我们可以在解决方案中或者本项目中添加web服务,或者单独创建一个web服务,发布到服务中,可以通过本机或者任意通过网络调用。

    下面就来看看如何创建和调用web服务

    如果我们要创建一个单独的我web服务,可以直接找到Asp.Net web服务应用程序

     

    其他的比如在本项目或本解决方案中创建web服务也是如此

    WebService.cs中的代码

    public class WebService : System.Web.Services.WebService {

     

        public WebService () {

     

            //如果使用设计的组件,请取消注释以下行

            //InitializeComponent();

        }

     

        [WebMethod]

        public string HelloWorld() {

            return "Hello World";

        }

        [WebMethod]

        public int result(int num)

        {

            return num;

        }

    }

    可以有很多个 [WebMethod],但是每个webMethod只对它下面的方法起作用,就是说如果一个方法上没有[WebMethod],那么它将不能被外界调用

    我们可以通过浏览WebService.asmx来试试我们的方法是否有用

    如果没有参数的方法,就像HelloWorld,就直接进入以下

    调用即可得到以下结果

    但是当有参数的时候,就像result,就直接进入以下

    我们需要输入完参数才可以调用

     

    如果我们想看一下webservice的描述文件,可以直接访问WebService.asmx?WSDL即可

    那么下面我们就来看看如何发布和调用WebService了

    1、   发布web Service和发布网站一样,简单的设置一下就好了

    2、   调用很重要的,我们就来好好研究一下应该如何调用

     

           首先看看如何在本项目中调用web service

    添加web引用

    然后我们就可以在代码中

    添加引用如using WebServiceDemo;

    然后再方法中实例化webService类,调用方法即可

     

     其他的也和上面的一样网上有好多的web服务,自己试试用一下 如查询天气,ip,中英文翻译等

     

     

    多思考,多创新,才是正道!
  • 相关阅读:
    Vue-router 路由
    第一个Vue-cli
    webpack学习
    kail拦截自己局域网
    kaii在普通用户进入root的时候,使用''su '',出现鉴定故障
    Kali Linux缺少ifconfig命令
    SpringIOC
    JavaScript图形实例:太极图
    JavaScript图形实例:玩转正方形
    JavaScript图形实例:模仿海龟作图
  • 原文地址:https://www.cnblogs.com/shuang121/p/1969667.html
Copyright © 2011-2022 走看看