《创建Web服务.ppt》由会员分享,可在线阅读,更多相关《创建Web服务.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第19章 创建Web服务基于XML 的Web服务,既可以在内部由单个应用程序来使用,也可通过Internet公开,供任意的应用程序使用。它可以通过标准接口访问,因此XML Web服务,能够使异构系统能够作为一个计算网络协同运行。本章将为读者介绍XML Web服务的原理,以及如何创建和使用Web服务。百度文库 百度文库19.1 Web服务概述基于XML的Web服务,提供特定功能元素(如应用程序逻辑)的可编程实体,使得任何数量的、甚至是完全不同的系统,都可以用常见的Internet标准进行访问。XML Web服务在很大程度上,都依赖于对XML以及其他Internet标准的广泛兼容,由此创建的支持应
2、用程序互操作性的基础结构,才得以解决许多以前阻碍此类尝试的问题。百度文库 百度文库19.2 创建Web服务一个Web服务程序,可以为本地程序和远程程序,提供函数接口,通过该接口,Web服务可以为其他应用程序提供服务。百度文库 百度文库19.2.1 创建Web服务XML Web services由两部分组成:Web服务入口点和实现Web服务功能的代码。在 ASP.NET中,.asmx 文件Web服务的源文件。它引用预编译的程序集中的代码、代码隐藏文件或包含于.asmx文件本身的代码。百度文库 百度文库19.2.2 测试Web服务编写完Web服务后,可以直接在浏览器中浏览19-01.asmx页面,
3、这表示该Web服务已经创建成功,并能工作了。页面中首先显示了Web服务名,也就是类名。接下来显示的是,有WebMethod标记对外提供接口的方法名。单击该方法名,如果该方法有参数,就会提示输入参数,百度文库 百度文库19.2.3 调试Web服务XML Web services的调试,可以在本地进行,也可以在远程服务器上进行。由于大多数情况下,都是在开发的初期进行调试的。所以本小节就本地调式进行讲解。本地调试之前,应确保在Web.config文件中设置好了调试模式,方法如下所示。在调试模式下,系统将会通知ASP.NET程序,为动态生成的文件生成符号,并能将调试器附加到ASP.NET应用程序。百度
4、文库 百度文库19.3 部署和发布Web服务创建好了一个Web服务,接下来就是要进行部署和发布,进而才能让用户使用Web服务。本节将为读着介绍一下,怎么对创建好的Web服务,进行部署和发布。百度文库 百度文库19.3.1 部署Web服务所谓部署Web服务,就是将涉及到Web服务使用的.asmx文件,和其他与Web服务相关的、但却又不属于.NET Framework的所有程序集,复制到提供Web服务的服务器中。百度文库 百度文库19.3.2 为Web服务启用发现Web服务部署好之后,就要将其发布到潜在的客户端,可以通过几种方式来进行。即使用XML发现文件,文件扩展名为.disco。或者使用指定.
5、vsdisco扩展名的URL。(具体内容请参照书。)百度文库 百度文库19.4 为Web服务创建代理按照定义,客户可以使用行业标准协议如SOAP,通过网络与Web服务进行通信,SOAP消息将输入和输出参数封装为XML。而对于Web服务客户端来说,代理类处理将参数正好映射为XML元素,然后通过网络发送SOAP消息这些工作。百度文库 百度文库19.4.1 创建代理类只要存在服务说明,并且该服务说明符合Web 服务描述语言(WSDL),就可以生成代理类。它定义了如何与Web服务进行通信。使用服务说明,可以使用Wsdl.exe工具创建一个代理类。接着,Web服务客户端,可以调用该代理类的方法,而该代理
6、类又通过对往返于Web服务的SOAP消息进行处理,通过网络与Web服务进行通信。由于代理类通过Internet与XML Web services通信,所以对于代理类的Url 属性,引用的是否是受信任的目标,有必要进行验证一下。百度文库 百度文库19.4.2 创建代理程序代理程序是一个动态链接库文件。如果要让代理类能被其他应用程序调用,就需要利用代理类生成代理程序。要创建代理程序,需要使用命令行工具“csc.exe”,将生成的代理类编译为dll文件。该工具的使用方法,在本书第3章有详细的介绍。百度文库 百度文库19.5 使用Web服务使用Web服务的过程,就是实现将Web服务接口,与Web服务使
7、用者进行绑定,并对其方法进行调用的过程。上一节已经生成了一个代理类,要使用的时候,只需要在客户端代理中,引用所生成的代理类。本节将为读者进行讲述。百度文库 百度文库19.5.1 本地使用Web服务通过创建客户应用程序,就可以使用相关的Web服务了。使用本地Web服务时,只需要将生成的代理类,放入站点根目录下的“App_Code”文件夹中,或者将代理程序,放入站点根目录下的“bin”文件夹中,然后在程序中调用即可。(具体内容请参照书。)百度文库 百度文库19.5.2 远程使用Web服务远程使用Web服务,必须先添加Web引用,方法如下所示。(具体内容请参照书。)百度文库 百度文库19.6 常见问
8、题本节主要介绍了Web Service这一技术,其被称为Web服务,主要是在Web程序中,为所有的应用程序提供服务。使用Web服务常遇到的问题如下所示。百度文库 百度文库19.6.1 Web服务可以被控制台或者桌面程序调用吗答:可以,只需要在控制台程序或桌面程序中调用即可,方法与在WebForm中调用Web服务的方法相同。如果是远程服务,记得在项目中添加Web引用。百度文库 百度文库19.6.2 一个Web服务会不会有生存周期答:使用Web程序,不是调用位于客户端应用程序中的方法,而是通过指定的传输(如HTTP)生成请求消息的,Web服务的生存周期依赖于生成的请求消息。百度文库 百度文库19.6.3 Web服务在不同的平台上都能被调用吗答:当然可以。由于Web服务可以使用URL、HTTP和XML 进行访问,这就意味着在任何平台上,可以以任何语言运行的程序来访问Web服务。百度文库 百度文库