《Web Service复习.doc》由会员分享,可在线阅读,更多相关《Web Service复习.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流Web Service复习【精品文档】第 11 页Web Service复习内容第1章 XML Web 服务简介1、WebService的优缺点,有什么局限1.5.1 基于标准 所有的XML Web服务都是通过同样的方式实现的-使用同样的协议,按相同的方式对数据编码,客户或服务无论位于何种平台,客户都可以方便地使用XML Web服务。1.5.2 非商业性 XML Web 服务使用的标准是在开放式、基于社区的环境下开发出来的,吸收了技术提供者、大型企业和学术界的研究成果。1.5.3 简便性 操作系统和当前的开发工具抽象了XML Web服务领域的的标准与协议
2、,编程人员无需了解这些内容的细节。1.5.4 独立于语言及平台 使用XML Web 服务只需满足两个前提:使用TCP/IP通信、能处理XML语言。1.5.5 功能抽象(例如B2B集成) 通过接口,将多个系统的底层功能聚合起来。如天气预报中温度、潮汛等信息可以从各自独立的系统中获取。1.5.6 跨防火墙通讯1.5.7 可发现性 通过服务注册表机制,便于提供者公布其服务,同时供客户查找服务。1.5.8 提高开发效率 多个用户可以同时使用相同的组件。 基于文本的协议,方便读取和解决问题1.5.8 不适宜使用XML Web服务的情况闭合系统对性能要求高可靠性要求高技术局限性,如安全性等2、分布式应用程
3、序的含义,有哪些典型的应用分布式应用程序是指应用程序的调用过程可以在多台物理上独立的计算机之间实现,同时数据也存储在不同的物理位置,但是应用程序的逻辑结构还是整体的,与分布的物理结构无关.网站,WebServices3、WebService使用了哪些协议UDDI,WSDL,SOAP,XML,HTTP,TCP/IP4、传统分布式应用程序体系结构有哪些缺陷 大型机系统成本昂贵 构建大型机系统本身的投入很高 难以承受发生故障的损失 数据属于不同的所有者 不同的数据所有者不愿意把数据集中存放 安全性考虑 将普通数据和敏感数据存放在不同的服务器上有助于提高安全性 在不同的系统中,数据源不相互兼容(举例)
4、 不同的硬件平台、操作系统支持的数据类型不同 服务器故障或服务器无响应 相比大型机系统,分布式应用发生单点失败的可能性更大 客户端故障 保证可以通知服务器并释放服务器上的资源 有时不允许重新调用(以金融业务为例) 除了考虑身份验证和授权外还必须考虑数据传输的安全性 在多台计算机之间同步时钟(一致性问题,7.23动车事故)第2章 使用Visual Studio .NET开发XML Web 服务1、.net 开发XML Web服务,需要用到哪些命名空间,using System.Web.Services;using System.Web.Services.Protocols;2、 是否只能使用.n
5、et来开发XML Web服务,可以用其它工具开发吗可以3、.net 开发XML Web服务的后缀是什么asmx4、如何创建动态链接库新建项目-类库5、WebService和WebMethod的属性各有哪些,它们的功能WebService属性属性说明Description关于XML Web服务的描述性消息,方便用户查看关于XML Web服务的信息NameXML Web服务的名称,它包含在WSDL中,供客户用来定位以便于通信。默认值是类的名称NameSpaceXML Web服务的命名空间,如未指定,默认是URI:。正式发布时应更改,以免冲突。WebMethod属性属性说明BufferRespons
6、e响应客户端请求,用于控制缓冲,待其完整后再送出,还是直接在序列化时发送CacheDuration响应客户端请求,设置应将其在缓存中保留,后续介绍Description关于XML Web服务的描述性消息,方便用户查看这一方法的用途EnableSession决定是否启动会话状态,后续介绍MessageName为方法定义一个别名,将在WSDL合同中公布,供客户通信中使用,当公开的方法包含重载方法时,必须使用此属性。6、在IIS上使用WebService对操作系统的要求,需要哪些组件特性系统要求操作系统Windows XP Windows 2000 Windows 2003版本5.0及以后版本,安装
7、FPSE(FrontPage服务扩展)用户权限可使用Windows 文件共享功能或FPSE向IIS服务器上文件进行写操作开发和运行组件Microsoft .NET Framework。此外Visual Studio .NET 中应安装Web Development and Remote Debugging组件第4章 创建SOAP 与 HTTP客户端 1、使用Web Service过程中,需要用到哪些操作(添加Web引用,身份验证等待,还有哪些),操作顺序怎样l 启用代理类 客户端应用程序中导入代理类using ProxyText.ValidatorService; 实例化代理类 VISAVal
8、idator x_validator = new VISAValidator(); 调用代理类的方法 x_validator.ValidateVISACard(0123 4567 8901 2345); 2、客户端是使用Web服务代理是添加引用还是添加Web引用添加Web引用. 3、Web Reference文件夹下面各有哪些文件,这些文件的功能是什么文件说明Reference.map将WSDL和DISCO文件的URL映射为本地缓存文件Reference.cs自动生成的代理类代码Validation.discoXML Web服务发现文件的本地缓存副本Validation.wsdlWSDL文件的
9、本地缓存副本。 4、采用SOAP方法访问Web Service有什么优点 代理类使得开发人员无需直接操作SOAP消息 每个代理方法所带参数的数量和类型及其返回的数据类型都与其映射的XML Web服务相同 客户端应用程序只需调用代理类方法 形式上调用代理类方法与调用本地方法一致 5、web引用的属性各有什么含义,如何动态改变web 服务的URL文件说明文件夹名称Web引用名称,4.1.2更改这一属性URL行为静态:将Web服务强置写入代理类。动态:URL写在配置文件(windows程序app.config,web程序web.config)的元素中指定,在运行时被读取.它是生成的代理接口Web 引
10、用URLWeb引用所指向的XML Web服务的WSDL文件的URL。第5章 XML Web 服务中数据类型1、能使用的简单数据类型、复杂数据类型、引用数据类型有哪些 SOAP规范中包含与.NET类型兼容的简单类型 包含: bool、byte 、char 、decimal 、double short 、int 、long 、float 、string 使用HTTP表示数据类型 采用字符串或字符的形式 只能访问部分.net数据类型2、使用引用数据类型时,XML Web 服务的客户端与服务器端能共享同一内存空间吗不能3、XML Web 服务中使用SOAP表示数据有什么优点,用http可以传送哪些类型
11、的数据 每种平台都有自身的一套数据类型 SOAP提供了一种所有平台都支持的中间表示方式 客户端只需将SOAP类型转换为自身使用的可理解的类型字符串或字符4、XML Web 服务中对象使用作为参数时,要注意什么 它是使用原始类型构成的,通常也叫对象 SOAP中对对象是使用一个名为序列化的进程来表示 序列化只包含对象的公共属性和变量的值,忽略方法、索引以及其他访问性为 private或static的成员第6章 异常处理与调试XML Web 服务 1、如何设置XML Web 服务的响应等待时间Timeout.Infinite(无限等待) 2、Web服务将异常发往SOAP客户端,将在客户端引发什么类型
12、的异常, 将异常发往SOAP客户端 SOAP Fault(SOAP错误编码),然后将其送回客户端 SOAP Fault主要字段:faultcode和faultstring 使用SOAP代理,引发的异常是System.Web.Services.Protocols.SoapException SoapException.Code = faultcode,服务器错误 SoapException.Message = faultstring,捕获异常的堆栈跟踪的字符串 3、Web服务中常用的错误代码有哪些;如果使用自定义错误代码,需要注意什么,如何使用自定义错误代码200成功OK正常读取内容已完毕404
13、 客户端错误Not Found用户访问的URL地址并不存在502服务器错误Bad Gateway错误的网关请求 4、程序开发过程中会遇到哪两种类型错误,各种的含义编译时和运行时 5、配置项目时,Release与Debug有什么区别Debug含有调试信息,Release不含调试信息第7章 发布和发现XML Web 服务1、发现工具有哪些UDDI,DISCO2、uddi、disco,wsdl 主要功能,相关概念(黄页、白页、绿页,tModel等),UDDI注册表中标识符的作用 UDDI的工作方式和邮局公开发行的电话黄页类似,它把特定的企业信息和Web Services在Internet上广而告之,
14、并提供具体的联系地址和方式 UDDI商业注册中心是UDDI的核心组件 公共的UDDI商业注册中心(IDDI Registry)面向全球企业,不同站点之间采用对等网络(P2P)通信。 UDDI商业注册中心维护了全球企业和企业提供的Web Service全球目录,信息描述的格式遵循XML格式 UDDI商业注册中心所提供的信息从概念上分为三个部分:白页(White page)、黄页(Yellow page)、绿页(green page)。 白页表示与企业有关的基本信息,包括企业名称、经营范围、联系地址、企业标识等 黄页依据标准分类法区分不同的行业类别,使企业能够更大范围内查找已经在注册中心注册的企业
15、或 Web Services 绿页包括企业所提供的Web Services的技术信息3、UDDI的主要工作原理4、WSDL定义WebServices一般使用哪些元素 WSDL把WebServices服务访问点和消息的抽象定义与具体的服务部署和数据格式的绑定分离开来,因此可以对抽象定义进行重用 WSDL文档中消息是指对数据的抽象描述 端口类型使用具体的协议和数据格式规范构成一个绑定,将Web访问地址与可再次使用的绑定相关联来定义一个端口,端口的集合定义为服务 WSDL定义WebServices一般使用以下元素: Type(类型),描述交换消息的数据类型定义 Message(消息),数据结构的抽象
16、化定义,使用Type所定义的类型来定义整个消息的数据结构 Operation(操作),对服务中所支持的操作的抽象描述,一般的,一个Operation描述了一个访问入口的请求/相应消息对 PortType(端口类型),某个访问入口点类型所支持的操作的抽象集合,每个操作指向一个输入消息和多个输出消息。 Binding(绑定),特定端口类型的具体协议和数据格式的规范绑定,它有端口类型定义的操作和消息指定的具体协议和数据格式规范的结合5、SOAP主要包括哪四部分SOAP Envelope SOAP编码规则(encoding rule) SOAP RPC表示(RPC representation) SO
17、AP绑定(binding)6、发布与部署 Web Service有什么区别,各需要做什么7、Visual Studio .NET Web安装项目来部署用软件时,其中许可协议用什么类型文件将XML Web服务发布到UDDI注册表注册到一个UDDI注册表以获取发布和管理权限,使用UDDI注册表的管理页面来发布关于tMOdel、业务和所提供XML Web服务的详细信息用UDDI注册表发现XML Web服务使用UDDI注册表的交互式搜索功能找到一个提供所需服务的业务,查看服务信息以找到一个指向该服务描述文档的引用用XML Web服务创建Disco文件使用ASP.NET支持的?DISCO参数,ASP.N
18、ET将自动为XML Web 服务创建DISCO文件用DISCO文件来发布多个XML Web服务把单个DISCO文件集成为一个DISCO文件用DISCO文件来定位XML Web服务描述文档用添加Web引用特性来打开DISCO文件的URL,通过超链接定位所需的XML Web服务的描述文件手动部署XML Web服务用IDE环境中发布的方式复制安装所需文件,在IIS服务器上配置上述文件为XML Web服务创建图形化安装程序用IDE环境的【Web安装项目】模版,在解决方案中新建一个项目,使用多种编辑器和属性页面对部署项目进行配置8、能否把.cs文件部署到iis上?不能第8章 状态管理1、默认web服务是
19、有状态的吗?无状态2、如何使web服务成为有状态,客户端与服务器端各要设置什么 NET框架下创建的web服务是无状态的,它单独处理每个客户请求,各请求之间没有数据共享 有状态的web服务在处理客户请求时保存有用的数据,在处理同一客户端后续请求时可以用到这些数据。 .NET提供这两种类型的状态管理 使用WebMethod属性的EnableSession子属性来表明XML Web服务类的哪个方法需要了解客户端的状态 WebMothod(EnableSession = true) 当客户端第1次向XML Web服务发出请求时,ASP.NET为此客户端创建一个新的会话并在XML Web服务中响应中加入
20、一个cookie,客户端在后续请求中都会包含这个cookie NET框架默认不支持cookie,即它不会分配给客户端唯一的标识符请求 必须为System.Net.CookieContainer设置代理类CookieContainer属性 ASP.NET分配的标识符仅对代理类的一个实例有效 将代理类创建为实例变量,并设置CookieContainer属性,客户端发送XML Web服务的所有请求都将使用同一客户端标识符,并被XML Web服务当作一个单独的会话。 添加如下代码,将ValidatorService代理类定义为Form1的实例变量 并设置CookieContainer属性3、Sessi
21、on和Application区别,如何使用它们一个网站只有一个Application可以有多个Session第9章 DataSet 和 XML Web 服务1、DataSet的主要概念 DataSet可以看作是包含了一个或多个表的类,如同关系式数据库中的数据集 通常DataSet存储来自关系数据库中的数据,也可以代表任何数据 DataSet对象是断开的,即数据库和DataSet之间没有打开的连接 DataSet能独立于原始数据进行查询和更新 对DataSet的更新不会自动应用到数据库2、用wsdl手动创建代理,各参数的含义参数说明urlXML Web服务的url,将会为这个URL创建代理类/l
22、anguage:languange指定用于创建代理类的.NET语言,如果值为CS,将创建一个c#类,默认为c#/protocol:protocol指定代理类与Web服务通信时使用哪一种协议。默认是SOAP,有效的是SOAP、HTTP-GET、HTTP-PUT。/namespace:myNameSpace指定代理类所属的命名空间,如果没有指定命名空间,将使用默认的全局命名空间/out:filename指定包含代理类源代码的文件名称,没有指定,默认使用Web服务类的名称/username:username指定连接到需要验证的Web服务器时使用的用户名/password:password指定连接到需
23、要验证的Web服务器时所使用的密码/domain:domain指定连接到需要验证的Web服务器时所使用的域3、如何把手动创建代理添加到应用程序中 添加库引用 【添加引用】|【浏览】第10章 缓存和应用程序事件1、WbMethod(CacheDuration=60)实现缓存,60代表什么意思60秒2、使用缓存需要的导入的命名空间是什么using System.Web.Caching3、使用Cache对象的Insert方法,各参数的含义 Cache对象由System.Web.HttpContext类的Current.Cache属性提供,其Add和Insert方法带有相同参数,Add方法不会更新缓存
24、,Insert方法会更新实用了指定键的缓存数据。如下表所示类型名称描述Stringkey用来引用项的缓存键ObjectValue要添加到缓存中的数据项CacheDependencyDependencies缓存数据所在的文件或目录,如果这些文件中的一个或多个发生改变,数据将从缓存中移除DateTimeabsoluteExpiration数据存储时间超过此期限将从缓存中移除TimeSpanslidingExpiration上一次从缓存中检索数据时到对象生存期将终止并被删除时之间的间隔4、缓存在哪些场合下使用 缓存作用:将信息存储在内存中,提高以后发出的请求速度,符合下列条件下可以使用缓存: 数据创
25、建很耗时或需占用大量资源 多个客户端请求相同的数据 缓存的数据不占用大量内存 需要时可以重新创建数据第11章 使用异步XML Web 服务1、异步使用了BeginValidateCard,EndValidateCard,怎么使用这些方法,各参数含义,它们能在同一线程中使用吗 BeginValidateCard方法 代理将调用XML Web服务方法,但只是立即返回对应用程序的控制,并不等待响应。 除了方法指定的参数,还另外使用两个参数,并总是返回一个System.IAsyncResult实例 利用IAsyncResult属性,可以访问等待处理的异步操作状态的有用信息public System.I
26、AsyncResult BeginValidateCard(ValidationObject p_object,System.AsyncCallback callback, object asyncState) EndValidateCard方法 获取之前BeginValidateCard方法调用的异步XML Web服务结果 它使用BeginValidateCard返回的IAsyncResult EndValidateCard方法的签名和返回值与同步方法ValidateCard一样。 含义XML Web服务方法的结果public void EndValidateCard(System.IAsyncResult , out ValidationObject p_object) public void ValidateCard(ref ValidationObject p_object) 不能2、IAsyncResult中各属性的含义3、如何用用Wsdl.exe手动生成代理4、同步与异步的区别,它们的优缺点各有什么