《ASPN--(北京理工大学出版)-项目八WebService、模块

上传人:c****d 文档编号:243156946 上传时间:2024-09-17 格式:PPT 页数:37 大小:746KB
返回 下载 相关 举报
《ASPN--(北京理工大学出版)-项目八WebService、模块_第1页
第1页 / 共37页
《ASPN--(北京理工大学出版)-项目八WebService、模块_第2页
第2页 / 共37页
《ASPN--(北京理工大学出版)-项目八WebService、模块_第3页
第3页 / 共37页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,项目八Web Service、模块与一般处理程序,任务一创建Web Service,任务二调用Web Service,任务三HttpHandle的使用,任务四HttpModule的使用,任务一创建Web Service,【任务要点】,1.了解Web Service,2.创建Web Service,【案例1】,创建手机归属地查询的Web Service,运行效果如,图8-1,所示。,当输入手机号后,单击【调用】按钮,则返回查询结果的XML文件,如,图8-2,所示。,下一页,返回,任务一创建Web Service,【具体步骤】,(1)创建Web Service。在建立Web服务之前,首先必须有一个手机信息数据库,数据库中存放了手机归属地信息,本项目中手机归属地信息存放在Mobile.mdb数据库中的list表中,通过Web服务访问,如,图8-3,所示。,选择VS 2005菜单中的【文件】【新建网站】命令,弹出【新建网站】对话框,如,图8-4,所示。,下一页,返回,上一页,任务一创建Web Service,在【新建网站】对话框中,选择【ASP.NET Web服务】选项,在【位置】下拉列表框中选择【文件系统】选项,【语言】下拉列表框中选择C#语言。单击【浏览】按钮,选择存放Web服务的位置,并将Web服务的文件名修改为“Mobile.asmx”,单击【确定】按钮,此时生成两个文件“Mobile.asmx”和在App_Code目录下的“Mobile.cs”,所有的ASP.NET Web服务文件都使用“.asmx”为扩展名。,(2)创建Web服务方法getMobile。文件中已有一个Web服务方法HelloWorld,用下面的Web服务方法getMobile替换HelloWorld方法。,(3)测试Web Service。按F5键运行此服务,将显示,图8-5,所示的界面。,下一页,返回,上一页,任务一创建Web Service,【背景知识】,Web Service简介。Web Service是一段位于Internet上的业务逻辑,可以通过标准的Internet协议(如HTTP、SOAP、WSDL或SMTP)进行访问。它实现了一种在异构环境中各个组织内部及组织之间任意数量的应用程序,或者应用程序组件与平台和编程语言无关的编程模型。Web Service是一门新兴技术,Web服务模型正在改变传统软件的模式,同时也改变了分布式的计算方式。Web服务实现的功能既可以响应客户端一个简单的请求,也可以完成一个复杂的商务流程,尤其在企业应用方面,降低了企业之间的壁垒。Web服务发布后,其他的应用程序和Web服务就可以通过Web进行查找发现和调用该服务。,下一页,返回,上一页,任务一创建Web Service,Web服务作为一个通用的应用程序接口,它具有以下几个特征。,(1)松散耦合,(2)完好的封装性,(3)使用标准协议规范,(4)高度可集成性,(5)容易发布和部署,返回,上一页,任务二调用Web Service,【任务要点】,客户端调用Web Service。,【案例1】,在ASP.NET页面上调用Web Service。运行效果如,图8-6,所示。,【具体步骤】,(1)打开VS 2005,新建一个ASP.NET网站,语言选择“C#”,项目名称为“WebServiceClient”。在默认的Default.aspx页面中添加一个表格,在表格中添加一个文本框,用来接受用户输入的手机号,添加一个Label,用来显示查询结果。,(2)建立Web服务客户端代理。,(3)添加查询按钮事件代码。,下一页,返回,任务二调用Web Service,【背景知识】,(1)调用Web服务方法采用的协议。,客户端可用HTTP-GET、HTTP-POST或SOAP协议调用Web服务方法。HTTP-GET和HTTP-POST协议是Web网页传递参数的标准协议,使用这两种协议调用Web服务方法只能采用变量名/变量值对传递参数,无法传递像DataSet、二进制文件等数据类型,为了传递复杂数据类型,应采用SOAP协议。SOAP(Simple ObjectAccess Protocol)简单对象访问协议,是基于XML的消息传递协议,由于是基于XML的,保证了不同系统的不同程序或组件之间,只要支持SOAP,都可以互相通信。,下一页,返回,上一页,任务二调用Web Service,(2)SOAP是一个用来在分散、分布式的环境中交换信息的简单协议。由于SOAP消息的格式是标准的,并且基于XML,所以SOAP可以用在不同的计算机体系结构、不同的语言和不同的操作系统之间进行通信。Web服务就是使用SOAP作为它的标准通信协议。,SOAP应用起来比较简单方便,可以用在HTTP、SMTP或其他协议传输上。这就是SOAP被广泛应用的原因所在。SOAP传输的主要是SOAP消息,它主要包括SOAP信封(Envelope),可选的SOAP报头(Header)和必须的SOAP实体(Body)。SOAP信封是SOAP消息的顶级元素,是必需的,它包含两个子元素Header和Body。SOAP报头是可选的,它是一种用来向SOAP消息添加额外特性的通用机制。SOAP报体Body元素中包含发送给最终目标节点的信息,它是必需的。SOAP消息的最终接收者必须要正确处理Body元素。SOAP信息包的具体结构如,图8-10,所示。,返回,上一页,任务三HttpHandle的使用,【任务要点】,1.HttpHandle的概念,2.使用HttpHandle实现复杂操作,【案例1】,实现页面验证码,每次刷新并生成新的验证码,具体运行效果如,图8-12,所示。,【具体步骤】,(1)创建HttpHandle处理程序。首先,启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【一般处理程序】选项,如,图8-13,所示。,下一页,返回,任务三HttpHandle的使用,(2)修改处理程序代码,(3)在需要调用的页面中添加调用图像代码,添加完成后,运行程序则可以实现如,图8-12,所示的效果。,【案例2】,使用HttpHandler实现对站点下所有图片加水印“A教程”。运行效果如,图8-14,所示。,下一页,返回,上一页,任务三HttpHandle的使用,【具体步骤】,(1)创建HttpHandle处理程序。首先,启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【类】选项,将类的名称修改为“WaterMark”,如,图8-15,所示。,单击【添加】按钮,在生成的类中,修改类代码,让其实现IHttpHandler接口。,(2)修改Web.config文件。,(3)程序的部署。在IIS中部署此类程序需要注意,由于在默认情况下IIS对“.jpg”类型的图片不做任何处理,所以在部署时,首先应打开网站属性对话框,如,图8-16,所示。,下一页,返回,上一页,任务三HttpHandle的使用,单击【配置】按钮,此时弹出【应用程序配置】对话框,如,图8-17,所示。,单击【添加】按钮,弹出【添加/编辑应用程序扩展名映射】对话框,如,图8-18,所示。,选择可执行文件为“aspnet_isapi.dll”,此文件在“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727”目录下。,返回,上一页,任务四HttpModule的使用,【任务要点】,1.HttpModule的概念,2.使用HttpModule实现对请求的过滤,【案例1】,使用HttpModule实现对整个站点的访问控制,也就是用户必须通过登录页面进入系统,防止用户直接输入URL地址访问系统页面。准备两个或两个以上的页面,在没有获得授权之前,在地址栏输入其他任何页面地址都会跳转到登录页面,省去了在ASP中每个页面都需要判断会话的麻烦。具体运行效果如,图8-19,所示。,如果登录成功,此时将在所有页面上显示欢迎语“欢迎您!xxxxxx!”,效果如,图8-20,所示。,下一页,返回,任务四HttpModule的使用,【具体步骤】,(1)创建登录页面“Login.aspx”,主要包括用户名和密码两个文本框。,(2)创建默认主页面“Default.aspx”,页面中不添加任何内容,主要用来输出欢迎词。,(3)创建HttpModule处理程序“Validator”。启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【类】选项,将类的名称修改为“Validator”,如,图8-21,所示。,单击【添加】按钮,在生成的类中,修改类代码,让其实现IHttpModule接口,(4)注册模块。在Web.Config中节点之间添加代码。,下一页,返回,上一页,任务四HttpModule的使用,【背景知识】,(1)HttpModule和HttpHandler程序运行模型。ASP.NET请求处理过程是基于管道模型的,在模型中ASP.NET把HTTP请求传递给管道中的所有模块。每个模块都接收HTTP请求并有完全的控制权限。模块可以用任何自认为适合的方式来处理请求。一旦请求经过了所有HTTP模块,就最终被HTTP处理程序处理。HTTP处理程序对请求进行一些处理,并且结果将再次经过管道中的HTTP模块。具体的运行模型如,图8-22,所示。,下一页,返回,上一页,任务四HttpModule的使用,(2)HttpHandler处理程序:HttpHanlder处理程序是实现了System.Web.IHttpHandler接口的.NET组件。任何实现了IHttpHandler接口的类都可以用于处理输入的HTTP请求。HTTP处理程序与ISAPI扩展有些类似。HTTP处理程序和ISAPI扩展的差别在于在URL中可以使用HTTP处理程序的文件名称直接调用它们,与ISAPI扩展类似。,HTTP处理程序实现了下列方法。,1)ProcessRequest,这个方法实际上是HTTP处理程序的核心。调用这个方法来处理HTTP请求;,2)IsReusable,调用这个属性来决定HTTP处理程序的实例是否可以用于处理相同其他类型的请求。HTTP处理程序可以返回True或False来表明它们是否可以重复使用。,下一页,返回,上一页,任务四HttpModule的使用,(3)HttpModule模块处理程序:HTTP模块是实现了System.Web.IhttpModule接口的.NET组件。这些组件通过在某些事件中注册自身,把自己插入ASP.NET请求处理管道。当这些事件发生的时候,ASP.NET调用对请求有兴趣的HTTP模块,这样该模块就能处理请求了。,返回,上一页,图8-1程序运行效果,返回,图8-2 XML文件,返回,图8-3手机归属地数据库,返回,图8-4新建Web Service,返回,图8-5程序运行效果,返回,图8-6程序运行效果,返回,图8-10 SOAP信息包结构,返回,图8-12程序运行效果,返回,图8-12程序运行效果,返回,图8-13创建一般处理程序,返回,图8-14程序运行效果,返回,图8-15添加类,返回,图8-16配置IIS属性,返回,图8-17 IIS应用程序配置,返回,图8-18编辑应用程序扩展名映射,返回,图8-19程序运行效果(1),返回,图8-20程序运行效果(2),返回,图8-21添加类,返回,图8-22 HttpModule和HttpHandler程序运行模型,返回,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!