ACCP
第十三章
创建Web服务
ACCP
回顾
跟踪是 引入的新功能,只需对页面和应用程序
启用此功能,就可以查看有关单个 页请求的诊
断信息
页面级跟踪具有一个称为 TraceMode 的属性,此属性接
受 SortByCategory 或 SortByTime 属性值,以决定如何
显示输出结果
应用程序级跟踪将启动对整个应用程序的跟踪。需要在
配置文件中进行设置
缓存是一项在计算中广泛用来提高性能的技术,它将访问
频率高的数据或构造成本高的数据保留在内存中
输出缓存将缓存整个页面,数据缓存将设置内存变量缓存
使用 的“Web安装项目”可以将应用程序打包成
易于部署的形式
2
ACCP
目标
了解Web 服务及其特征
了解 Web 服务的一般结构
使用 2003 创建 Web 服务
理解Web 服务的各种文件和结构
3
ACCP
服务 3-1
“服务”一词的定义是“作为职业或业务
而为别人所做的工作”
4
ACCP
服务 3-2
应用服务表示用户活动需求,如浏览电子邮件、
获取资料和查看股票行情
系统服务表示系统的内部基础需求和管理,如安全、存储、
故障恢复、事务管理和消息处理
5
ACCP
服务 3-3
使用接口可以从其他程
序调用服务
服务需注册到注册表中,这样
搜索者才可以找到该服务
6
ACCP
Web 服务 2-1
Web 服务可以描述为可以在 Web 上部署并可以被任何应用程序
或其他服务调用的功能它可以是商业应用功能,也可以是系统功能
7
ACCP
Web 服务 2-2
Web 服务提供以下服务:
企业到企业
企业到客户
点对点
Web 服务缩小了 Web 应用程序之间的“通信隔阂”,增强了交互性
8
ACCP
Web 服务的特征
互操作性:任何的 Web Service都可以与其他 Web
Service进行交互。由于有了SOAP这个所有主要供应商都
支持的新标准协议,因而避免了在CORBA、DCOM 和其
他协议之间转换的麻烦。还因为可以使用任何语言来编写
Web Service,因此开发者无需更改其开发环境,就可编
写和使用 Web Service
普遍性:Web Service使用 HTTP 和 XML 进行通信。因
此,任何支持这些技术的设备都可以拥有和访问 Web
Service。你可以通过Internet Explore浏览器来访问它,
你甚至也可以通过智能手机来访问它
Web 服务的一个重要特征是支持松散耦合。一个应用程
序可以分解为多个逻辑服务组件,其中的每个服务组件都
可以使用结构框架构建,也可以在物理上分布于多个计算
机之间。松散耦合的另一个重要方面是 Web 服务只在需
要时实时集成
9
ACCP
一般结构
Web 服务外观
Web 服务逻辑
数据访问
数据
Web 服务
服务器请求 服务器响应 获取联系
该层存储 Web 服务所需的信息和数据
该层使数据存储与对业务逻辑的修改隔
离,因此,维护了数据的完整性
该层实际实现所有的 Web 服务逻辑
该层是一个界面,直接映射 Web 服务公
开的操作
客户端应用程序在需要服务时与侦听器
层进行通信。该层接受请求并进行分析,
然后将包含在此消息中的参数分发至业
务面的相应方法中
侦听器
10
ACCP
SOAP 和 Web 服务
ASP 页面
Web 服务Web 服务
SOAP 主要用于从 ASP 页内调用 Web 服务
SOAP 是轻量级别协议,用于在分散的、分布
式计算环境中交换信息SOAP 使用 HTTP 在网络上进行通信或传递
信息,使用 XML 定义数据能力
11
ACCP
创建 Web 服务 2-1
从“开始”菜单中单击“Microsoft Visual Studio .NET
2003”,打开 IDE,并创建一个新项目。在“
新建项目”对话框中,将“项目类型”选为“Visual C#
项目”,然后将“模板”选为“ Web 服务”
默认的项目名为 WebService1。重新命名该项目并根据
需要更改其位置。本示例中,将在 aspex 文件夹中创建
名为 CH13 的 Web 服务项目
引用包
生成的默认服务文件为 。删除
该文件,然后添加一个新的 Web 服务文件,名为
。右键单击该文件并选择“设置为起始
页”将该页设置为起始页
12
ACCP
创建 Web 服务 2-2
在该代码窗口中,需要添加一个通过 Internet 公开和调用的方法。
此类方法又称为 [WebMethod]
最后,生成并执行此项目。输出结果如图所示。在浏览器窗口中会
出现 GetFlightInfo() 方法
单击 GetFlightInfo 链接,显示与该图类似的窗口。该窗口显示四个
参数departureCityId、arrivalCityId、beginDate、endDate 及其旁
边的文本框。在四个文本框里分别输入1、2、2005-1-1和2005-12-
31,然后单击“调用”
[WebMethod]
public FlightCollection GetFlightInfo( int departureCityId, int arrivalCityId
, DateTime beginDate, DateTime endDate )
{
Flights flights = new Flights();
condition = new ();
condition._ArrivalCityId = arrivalCityId;
condition._DepartureCityId = departureCityId;
condition._BeginDate = beginDate;
condition._EndDate = endDate;
return ( condition );
}
此时会查询到航班信息,并显示结果,如图所示
13
ACCP
Web 服务的结构
Web 服务的结构
14
ACCP
Web 服务中的文件
以下是 Web 服务项目创建的文件:
<WebService> .asmx 和 <WebService> .cs 文件
<WebService> .disco 文件
文件
AssemblyInfo 文件
和 文件
15
ACCP
总结 2-1
Web 服务是一种自包含、自解释、模块化的应用程序,
它能够在 Web 上发布、定位和调用。这些服务可执行不
同的功能,既可以是简单的请求,也可以是复杂的业务过
程。Web 服务部署完成后,即可由其他应用程序和其他
Web 服务使用
Web 服务结构主要由以下层组成:
数据存储
数据访问
Web 服务逻辑
Web 服务外观
侦听器层
[WebMethod] 标签通知 编译器,接下来的方法
是一个 Web 方法,它将导出到 Web
服务提供者与服务注册器、服务代理和服务请求者一起成
为 Web 服务的重要参与者16
ACCP
总结 2-2
Web 服务的优点如下:
交叉业务集成
提高效率
拉近客户关系
便于及时集成
创建 Web 服务项目时, 会生成以下文件。
<WebService>.asmx 和 <WebService>.cs 文件
和
<WebService> .disco
17