




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第10章章 ASP.NET Web服务服务Web服务服务(Web Service)是一项新兴发展的技术。它)是一项新兴发展的技术。它以以“软件就是服务软件就是服务”为理想目标,使得在系统架构以及软为理想目标,使得在系统架构以及软件开发等领域都发生了深刻的变化。件开发等领域都发生了深刻的变化。Web服务服务是微软是微软.NET策略计划的基础。策略计划的基础。 Web服务服务就是一个应用程序,它向外界暴露出一个能够就是一个应用程序,它向外界暴露出一个能够通过通过Web进行调用的进行调用的API。 10.1 Web服务概述服务概述Web服务服务(Web Services)是一个在网络或)是一个在网
2、络或Internet上访上访问应用程序和组件的新方法,是一种构建新的问应用程序和组件的新方法,是一种构建新的Web应用程序应用程序的普通模型,并能在所有支持的普通模型,并能在所有支持Internet通讯的操作系统上实通讯的操作系统上实施运行。施运行。一个一个Web服务服务就是一个应用就是一个应用Web协议的可编程的应用程协议的可编程的应用程序逻辑。序逻辑。 例如,你想创建一个例如,你想创建一个Web服务服务 ,它的作用是返回当前的,它的作用是返回当前的天气情况。那么你可已建立一个天气情况。那么你可已建立一个ASP页面,它接受邮政编码页面,它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字
3、符串,包含作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。了当前的气温和天气。要调用这个要调用这个ASP页面,客户端需要发送下面的这个页面,客户端需要发送下面的这个HTTP GET请求:请求:http:/ 返回的数据就应该是这样:返回的数据就应该是这样: 21,晴,晴 (以逗号隔开的(以逗号隔开的“气温,天气气温,天气”) 这个这个ASP页面就应该可以算作是页面就应该可以算作是Web服务了。因为它基服务了。因为它基于于HTTP GET请求,暴露出了一个可以通过请求,暴露出了一个可以通过Web调用的调用的API。当然,当然,Web服务还有更多的东西。服务还有更多的东西。
4、10.1.1 Web服务的特点服务的特点Web服务具有以下特点如下:服务具有以下特点如下:n Web服务是应用程序组件。服务是应用程序组件。n Web服务使用开放协议进行通信。服务使用开放协议进行通信。n Web服务是独立的并可自我描述。服务是独立的并可自我描述。n Web服务可通过使用服务可通过使用UDDI来发现。来发现。n Web服务可被其他应用程序使用。服务可被其他应用程序使用。n XML是是Web服务的基础。服务的基础。10.1.2 Web服务的体系结构服务的体系结构Web服务体系结构包括服务体系结构包括3种组件:种组件:l 服务提供者:服务提供者:是服务的拥有者,它为其他用户或服务提
5、是服务的拥有者,它为其他用户或服务提供服务功能。服务提供者先要向服务注册中心注册自已供服务功能。服务提供者先要向服务注册中心注册自已的服务描述和访问接口(发布操作)。的服务描述和访问接口(发布操作)。l 服务注册中心:服务注册中心:把服务提供者和服务请求者绑定在一起,把服务提供者和服务请求者绑定在一起,提供服务发布和查找功能。提供服务发布和查找功能。l 服务请求者:服务请求者:是是Web服务功能的使用者,它先向服务注服务功能的使用者,它先向服务注册中心查找所需要的服务,服务注册中心根据服务请求册中心查找所需要的服务,服务注册中心根据服务请求者的请求把相关的者的请求把相关的Web服务和服务请求者
6、进行绑定,这服务和服务请求者进行绑定,这样服务请求者就可以从服务提供者那儿获取需要的服务。样服务请求者就可以从服务提供者那儿获取需要的服务。Web服务体系结构包括服务体系结构包括3种操作:种操作:l 发布发布:服务提供者向服务注册中心发布相关服务的注册。:服务提供者向服务注册中心发布相关服务的注册。l 发现发现:由服务请求者向服务注册中心执行:由服务请求者向服务注册中心执行find操作,服操作,服务请求者描述要找的服务,服务注册中心分发匹配的结务请求者描述要找的服务,服务注册中心分发匹配的结果;果;l 绑定绑定:在服务请求者和服务提供者之间绑定,这两部分:在服务请求者和服务提供者之间绑定,这两
7、部分协商以使服务请求者可以访问和调用服务提供者的服务。协商以使服务请求者可以访问和调用服务提供者的服务。10.2 创建和使用创建和使用Web服务服务10.2.1 创建创建ASP.NET Web服务服务创建创建ASP.NET Web服务的步骤如下:服务的步骤如下:(1)采用第)采用第1章介绍的方法新建一个虚拟目录章介绍的方法新建一个虚拟目录Service,对,对应的物理目录为应的物理目录为H:WebService。在。在“Service属性属性”对话框的对话框的“目录安全性目录安全性”选项卡中单击选项卡中单击“编辑编辑”按钮,勺选按钮,勺选“集成集成Windows身份验证身份验证”。(2)启动)
8、启动Visual Studio.NET,选择,选择“文件文件”|“新建新建”|“网网站站”菜单命令,选择菜单命令,选择“ASP.NET Web服务服务”模板,如下图所示。模板,如下图所示。 (3)单击)单击“浏览浏览”按钮,打开按钮,打开“选择位置选择位置”对话框,选对话框,选择择“Service”,如下图所示,单击,如下图所示,单击“打开打开”按钮。按钮。(4)系统自动生成一个)系统自动生成一个Service.cs和和Service.asmx两个文件。两个文件。Service.asmx文件包含以下代码:文件包含以下代码:其中为其中为WebService指令,指定相关属性设置,属性含义与指令,
9、指定相关属性设置,属性含义与Page指令的属性类似。指令的属性类似。Service.cs文件位于文件位于App_Code文件来中,其初始代码如下:文件来中,其初始代码如下:using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;WebService(Namespace = /)WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)public class Service
10、: System.Web.Services.WebService public Service () /如果使用设计的组件,请取消注释以下行如果使用设计的组件,请取消注释以下行 /InitializeComponent(); WebMethod public string HelloWorld() return Hello World; 单击单击按钮运行本服务按钮运行本服务 单击单击HelloWorld超链接超链接 单击单击“调用调用”按按钮钮 【例【例10.1】设计一个实现两个整数相加的服务。设计一个实现两个整数相加的服务。解:解:其设计步骤如下:其设计步骤如下:(1)打开)打开WebSer
11、vice网站网站Service.cs文件。文件。(2)在)在Service类中添加如下代码:类中添加如下代码:WebMethod public int add(int a, int b) return a + b; WebMethod表示该方法可以由表示该方法可以由Web调用,其方法的调用,其方法的设计与普通类的方法设计相同。设计与普通类的方法设计相同。10.2.2 使用使用ASP.NET Web服务服务Web服务的主要作用就是为了供客户端程序调用。服务的主要作用就是为了供客户端程序调用。在访问在访问Web服务时,服务时,.NET框架等完成了大部分工作,框架等完成了大部分工作,用户只需要在代码
12、中调用代理类的相应方法即可。用户只需要在代码中调用代理类的相应方法即可。【例【例10.2】设计一个使用设计一个使用add服务网页服务网页WebForm10-1。解:解:其设计步骤如下:其设计步骤如下:(1)打开)打开Myaspnet网站,在网站,在ch10文件夹中添加一个名称为文件夹中添加一个名称为WebForm10-1的空网页。的空网页。(2)在)在“解决方案资源管理器解决方案资源管理器”窗口中右击窗口中右击“http:/localhost/Myaspnet/”,在出现的快捷菜单中选择,在出现的快捷菜单中选择“添加添加Web引用引用”命令,打开命令,打开“添加添加Web引用引用”对话框,如下
13、图所示。对话框,如下图所示。单击单击“本地计算机上的本地计算机上的Web服务服务”选项,出现如下图所示的选项,出现如下图所示的“本地计算机上的本地计算机上的Web服务服务”窗口。窗口。单击单击Service选项,打开如下图所示的选项,打开如下图所示的Service窗口,单击窗口,单击“添加引用添加引用”按钮(这里保持默认的按钮(这里保持默认的Web引用名为引用名为localhost)。)。(3)打开)打开Web.Config文件中自动添加以下代码:文件中自动添加以下代码:表示设定了代理类表示设定了代理类localhost所引用的所引用的Web服务的服务的URL。在在在在“解决方案资源管理器解决
14、方案资源管理器”窗口中看到新建了一个窗口中看到新建了一个App_WebReferences文件夹,其中包含文件夹,其中包含localhost类的子文件类的子文件夹。夹。(4)设计)设计WebForm10-1的界面如图的界面如图10.12所示,其中包含所示,其中包含一个一个22的表格,有两个文本框(的表格,有两个文本框(TextBox1和和TextBox2),),另有一个命令按钮另有一个命令按钮Button1和一个标签和一个标签Label1,指定其,指定其StyleSheetTheme属性为属性为Blue。在该网页上设计如下事件过程:。在该网页上设计如下事件过程:protected void B
15、utton1_Click(object sender, EventArgs e)int m, n; m = int.Parse(TextBox1.Text); n = int.Parse(TextBox2.Text); localhost.Service myservice = new localhost.Service(); Label1.Text = 调用结果调用结果: + myservice.add(m, n).ToString(); 网页设计界面网页设计界面网页运行界面网页运行界面单击工具栏中的单击工具栏中的按钮运行本网页,输入按钮运行本网页,输入2和和6,单击,单击“相加相加”命令按
16、钮,其运行界面如图命令按钮,其运行界面如图10.13所示。所示。10.3 通过通过Web服务传输服务传输DataSet数据集数据集DataSet对象是采用断开式设计的,其部分目的是便于对象是采用断开式设计的,其部分目的是便于Internet来传输数据。来传输数据。可以将可以将DataSet指定为指定为Web服务的输入或输出。服务的输入或输出。Web服务服务和客户端之间将和客户端之间将DataSet内容以流的形式来回传递。内容以流的形式来回传递。 【例【例10.3】设计一个使用】设计一个使用Web服务显示服务显示student表记录表记录的网页的网页WebForm12-2。解:其设计步骤如下:解
17、:其设计步骤如下: (1)打开前面建立的)打开前面建立的Service网站,将网站,将Stud.mdb文件复制文件复制到该网站的到该网站的App_Data文件夹中。双击打开文件夹中。双击打开Service.cs文件,文件,在引用部分添加以下代码:在引用部分添加以下代码: using System.Data; using System.Data.SqlClient;在在Service类中添加以下类中添加以下Web服务:服务:WebMethodpublic DataSet getdata() string mystr, mysql;mystr = Data Source=localhost;Ini
18、tial Catalog=Stud; +Integrated Security=False;User Id=sa;Password=123456;SqlConnection myconn = new SqlConnection();myconn.ConnectionString = mystr;myconn.Open();mysql = SELECT * FROM student;SqlDataAdapter myda = new SqlDataAdapter(mysql, myconn);DataSet myds = new DataSet();myda.Fill(myds, student);/将将student表填充到表填充到myds中中myconn.Close();return myds;(2)打开)打开Myaspnet网站,在网站,在ch10文件夹中添加一个名文件夹中添加一个名称为称为WebForm10-2的空网页。在网页中拖放一个的空网页。在网页中拖放一个GridView控件控件GridView1,设置其自动套用格式,不设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 产品技术合作开发合同书
- 冷链物流速冻加工项目规划设计方案(范文模板)
- 数学建模与应用建模实践练习题集
- 乡村健康食品生产与供应链优化
- 那个让我难忘的陌生人写人作文(10篇)
- 农民互助性农业生产管理合同
- 电力电子技术应用实践题
- 增强平台竞争力与市场领导力的路径
- 市场营销消费者行为知识考点详解
- 历史文物保护与现代科技融合应用知识要点题
- 仪器仪表制造职业技能竞赛理论题库
- 网络服务器配置与管理(微课版) 教案 项目02 虚拟化技术和VMware-2
- 税收分析试题及答案
- 2025年西式面点师(中级)面包烘焙实操考试试卷
- 回迁楼房买卖合同协议书
- 新课程理念下语文课堂教学体系重建
- 从技术革新到应用拓展:高效便捷三维人体重建的多维探索
- 2025年湖南省中考数学模拟试卷(二)
- 国家开放大学2025年《创业基础》形考任务3答案
- 广东省大湾区2025届普通高中毕业年级联合模拟考试(二)化学(含答案)
- SL631水利水电工程单元工程施工质量验收标准第1部分:土石方工程
评论
0/150
提交评论