Web Service复习说课材料.docx
- 文档编号:25796063
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:16
- 大小:116.68KB
Web Service复习说课材料.docx
《Web Service复习说课材料.docx》由会员分享,可在线阅读,更多相关《Web Service复习说课材料.docx(16页珍藏版)》请在冰豆网上搜索。
WebService复习说课材料
WebService复习
WebService复习内容
第1章XMLWeb服务简介
1、WebService的优缺点,有什么局限
1.5.1基于标准
所有的XMLWeb服务都是通过同样的方式实现的-使用同样的协议,按相同的方式对数据编码,客户或服务无论位于何种平台,客户都可以方便地使用XMLWeb服务。
1.5.2非商业性
XMLWeb服务使用的标准是在开放式、基于社区的环境下开发出来的,吸收了技术提供者、大型企业和学术界的研究成果。
1.5.3简便性
操作系统和当前的开发工具抽象了XMLWeb服务领域的的标准与协议,编程人员无需了解这些内容的细节。
1.5.4独立于语言及平台
使用XMLWeb服务只需满足两个前提:
使用TCP/IP通信、能处理XML语言。
1.5.5功能抽象(例如B2B集成)
通过接口,将多个系统的底层功能聚合起来。
如天气预报中温度、潮汛等信息可以从各自独立的系统中获取。
1.5.6跨防火墙通讯
1.5.7可发现性
通过服务注册表机制,便于提供者公布其服务,同时供客户查找服务。
1.5.8提高开发效率
多个用户可以同时使用相同的组件。
基于文本的协议,方便读取和解决问题
1.5.8不适宜使用XMLWeb服务的情况
闭合系统
对性能要求高
可靠性要求高
技术局限性,如安全性等
2、分布式应用程序的含义,有哪些典型的应用
分布式应用程序是指应用程序的调用过程可以在多台物理上独立的计算机之间实现,同时数据也存储在不同的物理位置,但是应用程序的逻辑结构还是整体的,与分布的物理结构无关.
网站,WebServices
3、WebService使用了哪些协议
UDDI,WSDL,SOAP,XML,HTTP,TCP/IP
4、传统分布式应用程序体系结构有哪些缺陷
大型机系统成本昂贵
•构建大型机系统本身的投入很高
•难以承受发生故障的损失
数据属于不同的所有者
•不同的数据所有者不愿意把数据集中存放
安全性考虑
•将普通数据和敏感数据存放在不同的服务器上有助于提高安全性
在不同的系统中,数据源不相互兼容(举例)
•不同的硬件平台、操作系统支持的数据类型不同
服务器故障或服务器无响应
•相比大型机系统,分布式应用发生单点失败的可能性更大
客户端故障
•保证可以通知服务器并释放服务器上的资源
有时不允许重新调用(以金融业务为例)
除了考虑身份验证和授权外还必须考虑数据传输的安全性
在多台计算机之间同步时钟(一致性问题,7.23动车事故)
第2章使用VisualStudio.NET开发XMLWeb服务
1、.net开发XMLWeb服务,需要用到哪些命名空间,
usingSystem.Web.Services;
usingSystem.Web.Services.Protocols;
2、是否只能使用.net来开发XMLWeb服务,可以用其它工具开发吗
可以
3、.net开发XMLWeb服务的后缀是什么
asmx
4、如何创建动态链接库
新建项目-→类库
5、WebService和WebMethod的属性各有哪些,它们的功能
WebService属性
属性
说明
Description
关于XMLWeb服务的描述性消息,方便用户查看关于XMLWeb服务的信息
Name
XMLWeb服务的名称,它包含在WSDL中,供客户用来定位以便于通信。
默认值是类的名称
NameSpace
XMLWeb服务的命名空间,如未指定,默认是URI:
http:
//tempuri.org/。
正式发布时应更改,以免冲突。
WebMethod属性
属性
说明
BufferResponse
响应客户端请求,用于控制缓冲,待其完整后再送出,还是直接在序列化时发送
CacheDuration
响应客户端请求,设置应将其在缓存中保留,后续介绍
Description
关于XMLWeb服务的描述性消息,方便用户查看这一方法的用途
EnableSession
决定是否启动会话状态,后续介绍
MessageName
为方法定义一个别名,将在WSDL合同中公布,供客户通信中使用,当公开的方法包含重载方法时,必须使用此属性。
6、在IIS上使用WebService 对操作系统的要求,需要哪些组件
特性
系统要求
操作系统
WindowsXPWindows2000Windows2003
版本
5.0及以后版本,安装FPSE(FrontPage服务扩展)
用户权限
可使用Windows文件共享功能或FPSE向IIS服务器上文件进行写操作
开发和运行组件
Microsoft.NETFramework。
此外VisualStudio.NET中应安装WebDevelopmentandRemoteDebugging组件
第4章创建SOAP与HTTP客户端
1、使用WebService过程中,需要用到哪些操作(添加Web引用,身份验证等待,还有哪些),操作顺序怎样
●启用代理类
Ø客户端应用程序中导入代理类
usingProxyText.ValidatorService;
Ø实例化代理类
VISAValidatorx_validator=newVISAValidator();
Ø调用代理类的方法
x_validator.ValidateVISACard("0123456789012345");
2、客户端是使用Web服务代理是添加引用还是添加Web引用
添加Web引用.
3、WebReference文件夹下面各有哪些文件,这些文件的功能是什么
文件
说明
Reference.map
将WSDL和DISCO文件的URL映射为本地缓存文件
Reference.cs
自动生成的代理类代码
Validation.disco
XMLWeb服务发现文件的本地缓存副本
Validation.wsdl
WSDL文件的本地缓存副本。
4、采用SOAP方法访问WebService有什么优点
•代理类使得开发人员无需直接操作SOAP消息
•每个代理方法所带参数的数量和类型及其返回的数据类型都与其映射的XMLWeb服务相同
•客户端应用程序只需调用代理类方法
•形式上调用代理类方法与调用本地方法一致
5、web引用的属性各有什么含义,如何动态改变web服务的URL
文件
说明
文件夹名称
Web引用名称,4.1.2更改这一属性
URL行为
静态:
将Web服务强置写入代理类。
动态:
URL写在配置文件(windows程序app.config,web程序web.config)的
Web引用URL
Web引用所指向的XMLWeb服务的WSDL文件的URL。
第5章XMLWeb服务中数据类型
1、能使用的简单数据类型、复杂数据类型、引用数据类型有哪些
•SOAP规范中包含与.NET类型兼容的简单类型
•包含:
bool、byte、char、decimal、double
short、int、long、float、string
•使用HTTP表示数据类型
•采用字符串或字符的形式
•只能访问部分.net数据类型
2、使用引用数据类型时,XMLWeb服务的客户端与服务器端能共享同一内存空间吗
不能
3、XMLWeb服务中使用SOAP表示数据有什么优点,用http可以传送哪些类型的数据
•每种平台都有自身的一套数据类型
•SOAP提供了一种所有平台都支持的中间表示方式
•客户端只需将SOAP类型转换为自身使用的可理解的类型
字符串或字符
4、XMLWeb服务中对象使用作为参数时,要注意什么
•它是使用原始类型构成的,通常也叫对象
•SOAP中对对象是使用一个名为序列化的进程来表示
•序列化只包含对象的公共属性和变量的值,忽略方法、索引以及其他访问性为private或static的成员
第6章异常处理与调试XMLWeb服务
1、如何设置XMLWeb服务的响应等待时间
Timeout.Infinite(无限等待)
2、Web服务将异常发往SOAP客户端,将在客户端引发什么类型的异常,
•将异常发往SOAP客户端
•SOAPFault(SOAP错误编码),然后将其送回客户端
•SOAPFault主要字段:
faultcode和faultstring
•使用SOAP代理,引发的异常是System.Web.Services.Protocols.SoapException
SoapException.Code=faultcode,服务器错误
SoapException.Message=faultstring,捕获异常的堆栈跟踪的字符串
3、Web服务中常用的错误代码有哪些;如果使用自定义错误代码,需要注意什么,如何使用自定义错误代码
200成功OK正常读取内容已完毕
404客户端错误NotFound用户访问的URL地址并不存在
502服务器错误BadGateway错误的网关请求
4、程序开发过程中会遇到哪两种类型错误,各种的含义
编译时和运行时
5、配置项目时,Release与Debug有什么区别
Debug含有调试信息,Release不含调试信息
第7章发布和发现XMLWeb服务
1、发现工具有哪些
UDDI,DISCO
2、uddi、disco,wsdl主要功能,相关概念(黄页、白页、绿页,tModel等),UDDI注册表中标识符的作用
•UDDI的工作方式和邮局公开发行的电话黄页类似,它把特定的企业信息和WebServices在Internet上广而告之,并提供具体的联系地址和方式
•UDDI商业注册中心是UDDI的核心组件
•公共的UDDI商业注册中心(IDDIRegistry)面向全球企业,不同站点之间采用对等网络(P2P)通信。
•UDDI商业注册中心维护了全球企业和企业提供的WebService全球目录,信息描述的格式遵循XML格式
•UDDI商业注册中心所提供的信息从概念上分为三个部分:
白页(Whitepage)、黄页(Yellowpage)、绿页(greenpage)。
•白页表示与企业有关的基本信息,包括企业名称、经营范围、联系地址、企业标识等
•黄页依据标准分类法区分不同的行业类别,使企业能够更大范围内查找已经在注册中心注册的企业或WebServices
•绿页包括企业所提供的WebServices的技术信息
3、UDDI的主要工作原理
4、WSDL定义WebServices一般使用哪些元素
•WSDL把WebServices服务访问点和消息的抽象定义与具体的服务部署和数据格式的绑定分离开来,因此可以对抽象定义进行重用
•WSDL文档中消息是指对数据的抽象描述
•端口类型使用具体的协议和数据格式规范构成一个绑定,将Web访问地址与可再次使用的绑定相关联来定义一个端口,端口的集合定义为服务
•WSDL定义WebServices一般使用以下元素:
ØType(类型),描述交换消息的数据类型定义
ØMessage(消息),数据结构的抽象化定义,使用Type所定义的类型来定义整个消息的数据结构
ØOperation(操作),对服务中所支持的操作的抽象描述,一般的,一个Operation描述了一个访问入口的请求/相应消息对
ØPortType(端口类型),某个访问入口点类型所支持的操作的抽象集合,每个操作指向一个输入消息和多个输出消息。
ØBinding(绑定),特定端口类型的具体协议和数据格式的规范绑定,它有端口类型定义的操作和消息指定的具体协议和数据格式规范的结合
5、SOAP主要包括哪四部分
SOAPEnvelopeSOAP编码规则(encodingrule)SOAPRPC表示(RPCrepresentation)SOAP绑定(binding)
6、发布与部署WebService有什么区别,各需要做什么
7、VisualStudio.NETWeb安装项目来部署用软件时,其中许可协议用什么类型文件
将XMLWeb服务发布到UDDI注册表
注册到一个UDDI注册表以获取发布和管理权限,使用UDDI注册表的管理页面来发布关于tMOdel、业务和所提供XMLWeb服务的详细信息
用UDDI注册表发现XMLWeb服务
使用UDDI注册表的交互式搜索功能找到一个提供所需服务的业务,查看服务信息以找到一个指向该服务描述文档的引用
用XMLWeb服务创建Disco文件
使用ASP.NET支持的?
DISCO参数,ASP.NET将自动为XMLWeb服务创建DISCO文件
用DISCO文件来发布多个XMLWeb服务
把单个DISCO文件集成为一个DISCO文件
用DISCO文件来定位XMLWeb服务描述文档
用添加Web引用特性来打开DISCO文件的URL,通过超链接定位所需的XMLWeb服务的描述文件
手动部署XMLWeb服务
用IDE环境中发布的方式复制安装所需文件,在IIS服务器上配置上述文件
为XMLWeb服务创建图形化安装程序
用IDE环境的【Web安装项目】模版,在解决方案中新建一个项目,使用多种编辑器和属性页面对部署项目进行配置
8、能否把.cs文件部署到iis上?
不能
第8章状态管理
1、默认web服务是有状态的吗?
无状态
2、如何使web服务成为有状态,客户端与服务器端各要设置什么
•NET框架下创建的web服务是无状态的,它单独处理每个客户请求,各请求之间没有数据共享
•有状态的web服务在处理客户请求时保存有用的数据,在处理同一客户端后续请求时可以用到这些数据。
•.NET提供这两种类型的状态管理
•使用WebMethod属性的EnableSession子属性来表明XMLWeb服务类的哪个方法需要了解客户端的状态
[WebMothod(EnableSession=true)]
•当客户端第1次向XMLWeb服务发出请求时,ASP.NET为此客户端创建一个新的会话并在XMLWeb服务中响应中加入一个cookie,客户端在后续请求中都会包含这个cookie
•NET框架默认不支持cookie,即它不会分配给客户端唯一的标识符请求
•必须为System.Net.CookieContainer设置代理类CookieContainer属性
•ASP.NET分配的标识符仅对代理类的一个实例有效
•将代理类创建为实例变量,并设置CookieContainer属性,客户端发送XMLWeb服务的所有请求都将使用同一客户端标识符,并被XMLWeb服务当作一个单独的会话。
•添加如下代码,将ValidatorService代理类定义为Form1的实例变量
•并设置CookieContainer属性
3、Session和Application区别,如何使用它们
一个网站只有一个Application可以有多个Session
第9章DataSet和XMLWeb服务
1、DataSet的主要概念
•DataSet可以看作是包含了一个或多个表的类,如同关系式数据库中的数据集
•通常DataSet存储来自关系数据库中的数据,也可以代表任何数据
•DataSet对象是断开的,即数据库和DataSet之间没有打开的连接
•DataSet能独立于原始数据进行查询和更新
•对DataSet的更新不会自动应用到数据库
2、用wsdl手动创建代理,各参数的含义
参数
说明
url
XMLWeb服务的url,将会为这个URL创建代理类
/language:
languange
指定用于创建代理类的.NET语言,如果值为CS,将创建一个c#类,默认为c#
/protocol:
protocol
指定代理类与Web服务通信时使用哪一种协议。
默认是SOAP,有效的是SOAP、HTTP-GET、HTTP-PUT。
/namespace:
myNameSpace
指定代理类所属的命名空间,如果没有指定命名空间,将使用默认的全局命名空间
/out:
filename
指定包含代理类源代码的文件名称,没有指定,默认使用Web服务类的名称
/username:
username
指定连接到需要验证的Web服务器时使用的用户名
/password:
password
指定连接到需要验证的Web服务器时所使用的密码
/domain:
domain
指定连接到需要验证的Web服务器时所使用的域
3、如何把手动创建代理添加到应用程序中
•添加库引用
【添加引用】|【浏览】
第10章缓存和应用程序事件
1、WbMethod(CacheDuration=60)实现缓存,60代表什么意思
60秒
2、使用缓存需要的导入的命名空间是什么
usingSystem.Web.Caching
3、使用Cache对象的Insert方法,各参数的含义
•Cache对象由System.Web.HttpContext类的Current.Cache属性提供,其Add和Insert方法带有相同参数,Add方法不会更新缓存,Insert方法会更新实用了指定键的缓存数据。
如下表所示
类型
名称
描述
String
key
用来引用项的缓存键
Object
Value
要添加到缓存中的数据项
CacheDependency
Dependencies
缓存数据所在的文件或目录,如果这些文件中的一个或多个发生改变,数据将从缓存中移除
DateTime
absoluteExpiration
数据存储时间超过此期限将从缓存中移除
TimeSpan
slidingExpiration
上一次从缓存中检索数据时到对象生存期将终止并被删除时之间的间隔
4、缓存在哪些场合下使用
•缓存作用:
将信息存储在内存中,提高以后发出的请求速度,符合下列条件下可以使用缓存:
•数据创建很耗时或需占用大量资源
•多个客户端请求相同的数据
•缓存的数据不占用大量内存
•需要时可以重新创建数据
第11章使用异步XMLWeb服务
1、异步使用了BeginValidateCard,EndValidateCard,怎么使用这些方法,各参数含义,它们能在同一线程中使用吗
•BeginValidateCard方法
•代理将调用XMLWeb服务方法,但只是立即返回对应用程序的控制,并不等待响应。
•除了方法指定的参数,还另外使用两个参数,并总是返回一个System.IAsyncResult实例
•利用IAsyncResult属性,可以访问等待处理的异步操作状态的有用信息
publicSystem.IAsyncResultBeginValidateCard(ValidationObjectp_object,
System.AsyncCallbackcallback,objectasyncState){
•EndValidateCard方法
•获取之前BeginValidateCard方法调用的异步XMLWeb服务结果
•它使用BeginValidateCard返回的IAsyncResult
•EndValidateCard方法的签名和返回值与同步方法ValidateCard一样。
•含义XMLWeb服务方法的结果
publicvoidEndValidateCard(System.IAsyncResult,
outValidationObjectp_object){
publicvoidValidateCard(refValidationObjectp_object){
不能
2、IAsyncResult中各属性的含义
3、如何用用Wsdl.exe手动生成代理
4、同步与异步的区别,它们的优缺点各有什么
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web Service复习说课材料 Service 复习 材料