zoukankan      html  css  js  c++  java
  • .NET基础示例系列之二十一:Web Service

    1.基本概念
    我没有考据过Web Service的概念具体是什么时间提出的,肯定已经不是很新鲜。对我来说“潮流只能等,不能追”,我是随其波而逐其流,跟着学习学习。
    Web Service的目标是使不同的应用程序域能在Web上实现相互之间的访问、操作。将来或许有一些人或者公司,他们在网络上发布Web Service接口,公众或者公司在需要某些服务功能(如一些非常复杂的计算)时,可以在网络上搜索有无此类功能的接口,找到之后便可以在自己的程序中调用这些接口,并付给接口作者一定的费用,使用者就可以不必自己去实现所需的功能了。

    另外,相关的概念还有:
    SOAP它是Simple Object Access Protocol的缩写,即“简单对象访问协议”。简单说来,SOAP就是用来访问Web Service的协议,它的本质工作是定义了访问Web Service的信息发送格式。
    WSDL:它是Web Services Description Language的缩写,用来描述Web服务XML语言。它以一定的格式描述某个Web Service接口的名称、参数、返回值等等内容(详细可以参见下面的示例),它就是一个接口文档,当你在教别人怎么调用你的接口时,可以给它一个对应的wsdl文件。


    2.
    创建Web Service接口
    使用Visual Studio 2005可以十分方便地创建一个Web Service程序:新建网站>>选择“Asp.net Web服务”模板,输入名称,如“WebSrvSample”,点击确定即可。初始情况下,工程中包含一个.asmx文件、一个.cs文件。我们的代码就写在.cs文件里:

    Code

    这个类的默认名称是Service,如果你修改了类的名称,请手工同步.asmx文件中的相应内容。写完代码之后,F6生成一下就行了。可以通过:
    http://hostip/WebSrvSample/ComplexCalculationSrv.asmx 来查看接口。同时,可以通过:http://hostip/WebSrvSample/ComplexCalculationSrv.asmx?wsdl 来查看该接口的wsdl描述,也可以要浏览器中选择另存,将其存为.wsdl文件。内容类似如下:

    Code



    3.接口调用
    下面演示如何在一个新的程序中调用刚上完成的Web Service接口,可以新建一个WinFrom工程,比如“UseWebSrv”。在项目的引用中添加Web引用,在弹出的窗口中输入接口url地址:
    http://hostip/WebSrvSample/ComplexCalculationSrv.asmx,点击“前往”,以测试连接是否成功。随后在“Web引用名”处为你的web引用取个名称,如“WebSrvSample”,点击确定。随后编写调用代码:

    Code

    注意引用的名称空间即此项目的名称空间+你刚才为Web引用取的名称。


    4.
    其它问题
    实验中发现在Web Service接口代码中不能使用方法的重载,就是不允许存在方法名一样的两个方法,即使它们的参数不同。

  • 相关阅读:
    DataAnnotations
    使用BizTalk实现RosettaNet B2B So Easy
    biztalk rosettanet 自定义 pip code
    Debatching(Splitting) XML Message in Orchestration using DefaultPipeline
    Modifying namespace in XML document programmatically
    IIS各个版本中你需要知道的那些事儿
    关于IHttpModule的相关知识总结
    开发设计的一些思想总结
    《ASP.NET SignalR系列》第五课 在MVC中使用SignalR
    《ASP.NET SignalR系列》第四课 SignalR自托管(不用IIS)
  • 原文地址:https://www.cnblogs.com/morvenhuang/p/988014.html
Copyright © 2011-2022 走看看