ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第15章 Web Service服务应用

上传人:E**** 文档编号:89354656 上传时间:2019-05-23 格式:PPT 页数:27 大小:1.59MB
返回 下载 相关 举报
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第15章  Web Service服务应用_第1页
第1页 / 共27页
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第15章  Web Service服务应用_第2页
第2页 / 共27页
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第15章  Web Service服务应用_第3页
第3页 / 共27页
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第15章  Web Service服务应用_第4页
第4页 / 共27页
ASP.NET应用开发与实践 教学课件 ppt 作者  刘乃琦 郭小芳 第15章  Web Service服务应用_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第15章 Web Service服务应用》由会员分享,可在线阅读,更多相关《ASP.NET应用开发与实践 教学课件 ppt 作者 刘乃琦 郭小芳 第15章 Web Service服务应用(27页珍藏版)》请在金锄头文库上搜索。

1、,本章要求:,第15章 Web Service服务应用,Web Service的基本概念 WebService指令的使用 Web服务代码隐藏文件中的3大特性 Web服务的创建及调用 如何在AJAX中调用Web服务 Web服务在实际中的应用,主要内容,1.Web Service概述 2.Web服务的创建及使用 3.综合实例利用Web服务上传和下载图片,第15章 Web Service服务应用,15.1 Web Service概述,Web Service即Web服务,所谓服务就是系统提供一组接口,并通过接口使用系统提供的功能。同在Windows系统中应用程序通过API接口函数使用系统提供的服务一样

2、,在Web站点之间,如果想要使用其他站点的资源,就需要其他站点提供服务,这个服务就是Web服务。 Web服务是建立可互操作的分布式应用程序的新平台,它是一套标准,定义了应用程序如何在Web上实现互操作性。在这个新的平台上,开发人员可以使用任何语言,以及在任何操作系统平台上进行编程,只要保证遵循Web服务标准,就能够对服务进行查询和访问。 说明: Web服务的服务器端和客户端都要支持行业标准协议HTTP、SOAP和XML。 Web服务中表示数据和交换数据的基本格式是可扩展标记语言(XML),Web服务使用XML作为基本的数据通信方式,来消除使用不同组件模型、操作系统和编程语言的之间的差异。 使用

3、Web Service时需要满足以下条件: 服务器端和客户端的系统都是松耦合的,也就是说,Web Service与服务器端和客户端所使用的操作系统、编程语言都无关。 Web Service的服务器端和客户端应用程序具有连接到Internet的能力。 用于进行通信的数据格式必须是开放式标准,而不是封闭通信方式。在采用自我描述的文本消息时,Web Service及其客户端无须知道每个基础系统的构成即可共享消息,这使得自治系统和不同的系统之间能够进行通信。,15.2.1 Web服务文件的指令 15.2.2 Web服务代码隐藏文件 15.2.3 创建一个简单的Web服务 15.2.4 ASP.NET网

4、站中调用Web服务 15.2.5 ASP.NET AJAX调用Web服务,15.2 Web服务的创建及使用,Web服务文件中包括一个WebService指令,该指令必须应用在所有Web服务中,语法如下: Language属性:指定在Web Service使用的语言,可以为.NET支持的任何语言,包括 C#、Visual Basic和JScript。该属性是可选的,如果未设置该属性,编译器将根据类文件使用的扩展名推导出所使用的语言。 CodeBehind属性:指定Web Service类的源文件的名称。 Class属性:指定实现Web Service的类名,该服务在更改后第一次访问Web Ser

5、vice时被自动编译。该值可以是任何有效的类名,该属性指定的类既可以存储在单独的代码隐藏文件中,也可以存储在与WebService指令相同的文件中。该属性是Web Service必需的。 Debug属性:指示是否使用调试方式编译Web Service。如果启用调试方式编译Web Service,Debug属性则为true,否则为false,默认为false。在Visual Studio 2010中,Debug属性是由Web config文件中的一个输入值决定的,所以创建Web Service时,该属性会被忽略。,15.2.1 Web服务文件的指令,在ASP.NET中创建Web服务时,在代码隐藏

6、文件中自动包含一个类,它是根据Web服务的文件名命名的,这个类有两个特性标签:WebService和WebServiceBinding;另外,该类中还有一个名为HelloWorld的模板方法,该方法使用WebMethod特性修饰,该特性表示方法对于Web服务使用程序可用。下面对Web服务代码隐藏文件中的3个特性标签进行详细介绍。 1WebService特性 对于将要发布和执行的Web服务来说,WebService特性是可选的。可以使用WebService特性为Web服务指定不受公共语言运行库标识符规则限制的名称。 Web服务在成为公共之前,应该更改其默认的 XML 命名空间。每个 XML We

7、b Service 都需要唯一的XML命名空间来标识它,以便客户端应用程序能够将它与网络上的其他服务区分开来。 http:/tempuri.org/可用于正在开发中的Web服务,已发布的Web服务应该使用更具永久性的命名空间。例如,可以将公司的Internet域名作为XML命名空间的一部分,虽然很多Web服务的XML命名空间与URL很相似,但是,它们无须指向Web上的某一实际资源(Web服务的XML命名空间是URI)。对于使用ASP.NET创建的Web服务,可以使用Namespace属性更改默认的XML命名空间。,15.2.2 Web服务代码隐藏文件,2WebServiceBinding特性

8、按Web服务描述语言(WSDL)的定义,绑定类似于一个接口,原因是它定义一组具体的操作。每个Web Service方法都是特定绑定中的一项操作,Web Service方法是Web Service的默认绑定的成员,或者是在应用于实现Web Service的类的WebServiceBinding特性中指定绑定的成员。Web服务可以通过将多个WebServiceBinding特性应用于Web Service来实现多个绑定。 3WebMethod特性 Web Service类包含一个或多个可在Web服务中公开的公共方法,这些Web Service方法以WebMethod特性开头。为使用ASP.NET创

9、建的Web服务中的某个方法添加此WebMethod特性后,就可以从远程Web客户端调用该方法。 WebMethod特性包括一些属性,这些属性可以用于设置特定Web方法的行为,语法如下: WebMethod(PropertyName=value),WebMethod特性的常用属性及说明如表15-1所示。 表15-1 WebMethod特性的常用属性及说明 注意: MessageName属性使Web服务能够唯一确定使用别名的重载方法,默认值是方法名称。当指定MessageName时,结果SOAP消息将反映该名称,而不是实际的方法名称。,15.2.3 创建一个简单的Web服务,下面通过一个实例,具体

10、介绍如何创建一个Web服务。 【例15-1】 本实例创建一个具有查询功能的Web服务,程序实现的主要步骤如下: (1)打开Visual Studio 2010开发环境,选中网站项目,单击右键,在弹出的快捷菜单中选择“添加新项”选项,弹出“添加新项”对话框,在该对话框中选择“Web服务”,如图15-1所示。 图15-1 新建Web服务,(2)单击“确定”按钮,将显示如图15-2所示的页面。 图15-2 Web服务的代码隐藏文件,(3)在创建的Web服务文件中添加自定义Web服务方法Select,代码如下: WebMethod(Description = “输入学生姓名,返回学生信息“) publ

11、ic string Select(string stuName) SqlConnection conn = new SqlConnection(“server=MRWXKMRWXK;uid=sa;pwd=;database=db_ASPNET“); conn.Open(); SqlCommand cmd = new SqlCommand(“select * from tb_StuInfo where stuName=“ + stuName + “, conn); SqlDataReader dr = cmd.ExecuteReader(); string txtMessage = “; if

12、(dr.Read() txtMessage = “学生编号:“ + dr“stuID“ + “ ,“; txtMessage += “姓名:“ + dr“stuName“ + “ ,“; txtMessage += “性别:“ + dr“stuSex“ + “ ,“; txtMessage += “爱好:“ + dr“stuHobby“ + “ ,“; else if (String.IsNullOrEmpty(stuName) txtMessage = “请输入姓名“; else txtMessage = “查无此人!”; cmd.Dispose(); dr.Dispose(); conn.

13、Dispose(); return txtMessage; /返回用户详细信息 ,(4)在“生成”菜单中,选择“生成解决方案”命令,生成Web服务。 (5)为了测试生成的Web服务,直接单击 按钮,将显示Web服务帮助页面,如图15-3所示。 图15-3 Web服务帮助页面,(6)在图15-3中可以看到Web服务中包含了两个方法:一个是HelloWorld模板方法,另外一个为自定义的Select查询方法。单击Select方法的链接将显示它的测试页面,如图15-4所示。 图15-4 Select方法的测试页面,(7)在测试页中输入联系人姓名,单击“调用”按钮,即可调用Web服务的相应方法并显示方

14、法的返回结果,如图15-5所示。 图15-5 Select方法返回的结果页面 从上面的测试结果可以看出,Web服务方法返回的结果是使用XML进行编码的。,15.2.4 ASP.NET网站中调用Web服务,创建完Web服务,并且对Internet上的使用者开放时,开发人员应该创建一个客户端应用程序来查找Web服务,发现Web服务中的可用方法,而且要创建客户端代理,并将Web服务方法代理到客户端中,这样,客户端就可以如同实现本地调用一样使用远程Web服务。 【例15-2】 创建一个Web应用程序来调用Web服务,本实例将调用例15-1中创建的Web服务。执行程序,运行结果如图15-6所示。 图15

15、-6 调用Web服务,程序开发步骤如下: (1)打开Visual Studio 2010开发环境,新建一个ASP.NET空网站,向ASP.NET网站中添加一个Web窗体,命名为Default.aspx。 (2)在Default.aspx页面上添加一个TextBox控件、一个Button控件和一个Label控件,分别用来输入姓名、执行查询操作和显示查询到的信息。 (3)在“解决方案资源管理器”中,右击项目,在弹出的快捷菜单中选择“添加服务引用”选项,弹出“添加服务引用”对话框,如图15-7所示。 图15-7 “添加服务引用”对话框,15.2.5 ASP.NET AJAX调用Web服务,在ASP.

16、NET AJAX网站中调用Web服务时,需要在ScriptManager控件中使用标记以声明的方式引入Web服务资源。例如,引入Web Service文件(文件后缀为.asmx)的代码如下: 【例15-3】 本实例在ASP.NET AJAX网站中通过调用Web服务随机生成一个4位数字的验证码,实例运行效果如图15-10所示。 图15-10 ASP.NET AJAX调用Web服务生成随机验证码,程序开发步骤如下: (1)新建一个网站,默认主页为Default.aspx。 (2)该网站中添加一个Web服务,命名为RandomService.asmx,打开Web服务的RandomService.cs文件(该文件自动存放在App_Code文件夹下),定义一个静态方法GetRandom,用于随机返回一个1000到9999范围内的4位数字验证码,代码如下: WebService(Namespace = “http:/tempuri.or

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号