ASPNET4.5动态网站开发实用教程电子教案杨春元第九章_第1页
ASPNET4.5动态网站开发实用教程电子教案杨春元第九章_第2页
ASPNET4.5动态网站开发实用教程电子教案杨春元第九章_第3页
ASPNET4.5动态网站开发实用教程电子教案杨春元第九章_第4页
ASPNET4.5动态网站开发实用教程电子教案杨春元第九章_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023年10月14日第1页第9章Web服务教学目标本章内容2023年10月14日第2页教学目标Web服务的工作原理创建Web服务调用Web服务支持AJAX的Web服务在AJAX站点中调用页面方法2023年10月14日第3页本章内容9.1Web服务概述9.2创建和调用Web服务9.3上机练习9.4习题2023年10月14日第4页本章内容9.1Web服务概述9.2创建和调用Web服务9.3上机练习9.4习题2023年10月14日第5页9.1Web服务概述Web服务奠定了下一代Web应用程序的基础。无论客户应用程序是Windows应用程序,还是ASP.NETWeb应用程序,无论客户程序运行在社么操作系统上,都可以通过Internet使用Web服务定期通信。什么是Web服务ASP.NETWeb服务体系支持AJAX的Web服务2023年10月14日第6页什么是Web服务简单地讲,Web服务是一个基于因特网的可通过Web被远程调用的应用程序模块(API),例如网站中如果想提供天气预报的服务,不用自己实现天气预报的功能,只需调用其他公司提供的免费或付费Web服务即可。误区一,信息化建设可以一步到位,缺乏信息化建设的战略规划。服务就是一个软件,它和客户端应用程序没有很紧密地耦合或关联。服务是可以被动态地发现及组合成其他软件的软件实体。Web服务是一种基于XML、JSON、SOAP、HTTP、UDDI、WSDL等一系列标准实现的分布式计算技术和软件组件。2023年10月14日第7页Web服务的影响(1)Web服务支持在Web站点上放置可编程的元素,用户可以抓取已有的元素,构成自己的新服务。(2)能进行基于Web的分布式计算和处理,能很好地兼容现有的Web技术。(3)Web服务使得Internet成为一个可以无限扩展、拥有无限潜力的分布式计算平台。(4)任何设备可以随时随地访问Internet上的Web服务。(5)软件模块充分复用、计算机资源充分共享、信息无缝共享和交流。(6)利用Web服务,公司和个人将能够迅速且廉价地向整个国际互联网络提供他们的服务,进而建立全球范围的联系,在广泛的范围内寻找可能的合作伙伴。2023年10月14日第8页Web服务的主要特点互操作性:一个Web服务可与其他Web服务交互,协同工作;可以使用任何语言开发Web服务或使用他人提供的Web服务;开发环境可以异构。普遍性:Web服务使用HTTP和XML进行通信,支持这些技术的设备都可以拥有和访问Web服务。松散耦合:Web服务的实现对使用者透明,当服务的实现发生变动时不影响用户使用。高度可集成能力:Web服务和采用了简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,屏蔽了平台的异构性,CORBA、DCOM、EJB等都可通过它进行互操作。2023年10月14日第9页ASP.NETWeb服务体系.NET平台和ASP.NET在创建和使用Web服务方面提供了广泛的支持。这些技术赋予用户一个优秀的、简单易用的平台,从而可以快速有效地创建和使用Web服务。ASP.NETWeb服务体系包括客户端应用程序、ASP.NETWeb服务程序以及一些文件,如:代码文件、.asmx文件和编译后的.dll文件。还包括一台Web服务器来存载Web服务程序和客户端。如果需要,还可以有一台数据库服务器来存取Web服务中的数据。XML或JSON是数据的格式,SOAP是调用Web服务的协议,WSDL是描述Web服务的格式,而UDDI是Web服务发布,查找和利用的组合。2023年10月14日第10页2023年10月14日第11页支持AJAX的Web服务ASP.NETAJAX提供了完整的架构以从客户端JavaScript调用ASP.NETWeb服务。设计者可以轻松地用AJAX把服务器端的数据和功能集成到用户响应的Web页面中,而所需要做的就是用[ScriptService]属性来标识Web服务。ASP.NETAJAX框架会为Web服务自动生成JavaScript代理,然后通过使用代理来调用Web方法。借助ASP.NETAJAXExtension,微软选择JSON在服务器和Ajax客户端实现数据交换,从而创建支持AJAX的Web服务。在客户端和服务器端都实现了数据的串行化器和并行化器以使数据按JSON的格式交换。网页中的客户端脚本与服务器通过Web服务通信层进行通信来访问Web服务,该通信层使用AJAX技术进行Web服务调用,数据在客户端与服务器之间通常采用JSON格式进行异步交换。2023年10月14日第12页本章内容9.1Web服务概述9.2创建和调用Web服务9.3上机练习9.4习题2023年10月14日第13页9.2创建和调用Web服务在.NETFramework中,可以很容易创建和使用Web服务。与Web服务相关的命名空间一共有3个:System.Web.Services:该命名空间中的类用于创建Web服务。System.Web.Services.Description:使用该命名空间可以通过WSDL描述Web服务。System.Web.Services.Protocols:使用该命名空间可以创建SOAP请求和响应。2023年10月14日第14页WebService类要创建Web服务,可以从System.Web.Services.WebService中派生Web服务类。WebService类提供了对ASP.NETApplication和Session对象的访问。2023年10月14日第15页WebService属性与普通的类继承不同的是,WebService的子类需要用WebService属性来标记,该属性用于向XMLWeb服务添加附加信息,如描述其功能的字符串。这是一个WebServiceAttribute类的对象,共有3个可选属性:Description、Name、Namespace2023年10月14日第16页WebServiceBinding属性.NET2.0给Web服务添加的一个属性WebServiceBinding。这个属性用于把Web服务标记为可交互操作的一致性级别。ConformanceClaims Web服务的一致性级别可设置为WsiClaims枚举的一个值。WsiClaims有两个值:BP10;NoneEmitConformanceClaims一个布尔属性,定义了用ConformanceClaims属性指定的一致性级别是否应传送给生成的WSDL文档Name 使用Name属性可以定义绑定的名称。该名称默认与Web服务相同,但要加上Soap字符串Location 定义了绑定消息的位置,例如/Webservice.asmx?wsdlNamespace Namespace属性定义了绑定的XML命名空间2023年10月14日第17页WebMethod属性Web服务中可以使用的所有方法都必须用WebMethod属性来标记。当然,也可以有其他没有用WebMethod标记的方法,但这些方法只能在WebMethod中调用,而不能在客户机上调用。使用属性类WebMethodAttribute,就可以在远程客户机上调用方法,并可以定义是否缓存响应,缓存时间有多长,会话状态是否与指定的参数一起存储等。2023年10月14日第18页ScriptService属性System.Web.Script.Services.ScriptService属性用于使用ASP.NETAJAX从脚本中调用Web服务。ResponseFormat 指定是否将响应序列化为JSON或者XML。默认为JSON,但是,当方法的返回值是XmlDocument时,XML格式会比较方便UseHttpGet 表明是否可以使用HTTPGET调用Web服务方法。由于安全性原因,此项的默认设置为falseXmlSerializeString 表明包括字符串在内的所有返回类型是否都序列化为XML,默认为false,当响应格式设置为JSON时,将忽略该属性的值2023年10月14日第19页创建Web服务使用VS创建Web服务非常简单,只需选择相应的模板,然后按向导提示即可。与其他所有文档类型一样,VS也附带有Web服务模板。可以使用【添加新项】对话框来添加Web服务。然后可以修改服务,并在Web浏览器中使用ASP.NET运行库自动创建的标准测试页面测试它。当Web服务正确运行时,就可以调用该服务。2023年10月14日第20页2023年10月14日第21页调用Web服务调用Web服务的第一步就是先找到一个满足需要的Web服务。在找到一个服务后,就可以得到这个Web服务的描述信息、分组的分类信息和绑定信息。然后根据描述信息,调用相应的方法。为了找到已经存在的Web服务,Microsoft、IBM和Ariba合作建立了一个带有UDDI服务的网站。如果一个公司要发布自己的Web服务,就可以在UDDI中注册它。有了UDDI商务注册表和UDDIAPI,就可以编程定位Web服务的信息了。2023年10月14日第22页调用Web服务流程图2023年10月14日第23页调用Web服务引用2023年10月14日第24页创建支持AJAX的Web服务最适合AJAX应用程序的服务主要涉及向Web客户端公开数据和资源。它可以通过HTTP获得,并要求客户端使用URL(也可以是HTTP头)访问数据和命令操作。前面已经介绍过只需将[System.Web.Script.Services.ScriptService]前面的注释符号删除,即可将整个服务提供为客户端脚本服务。2023年10月14日第25页在AJAX站点中调用Web服务ScriptManager控件几乎是所有与Ajax相关的操作中必不可少的。使用Web服务时,需要告知ScriptManager要给客户端脚本提供Web服务。有两种方法可以实现:在母版页中的ScriptManager中。在使用Web服务的内容页中使用ScriptManagerProxy控件。要在全部或大多数页面中使用Web服务,最好是在母版页的ScriptManager中声明Web服务。给ScriptManager控件提供一个<Services>元素,该元素再包含指向公共服务的一个或多个ServiceReference元素。2023年10月14日第26页本章内容9.1Web服务概述9.2创建和调用Web服务9.3上机练习9.4习题2023年10月14日第27页9.3上机练习本章的上机练习将演示如何在AJAX站点中调用页面方法页面方法和Web服务有一些共同之处。两者都可以使用很少的代码在客户端调用。可以向它们发送数据,并接收回发的数据。另外,当调用它们时,可以定义成功和失败回调方法。两者所不同的是,页面方法直接在现有的ASPX页面内定义,而不是在单独的ASMX服务文件中定义。而且,只能从页面运行的脚本中调用页面方法。要启用页面方法,需要将ScriptManager控件的EnablePageMethods属性设置为True。不能在ScriptManagerProxy控件没有该属性,因此需要直接在ScriptManager控件上进行设置。2023年1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论