项目Web Service模块与一般处理程序_第1页
项目Web Service模块与一般处理程序_第2页
项目Web Service模块与一般处理程序_第3页
项目Web Service模块与一般处理程序_第4页
项目Web Service模块与一般处理程序_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目八Web Service、模块与一般处理程序 任务一创建Web Service 任务二调用Web Service 任务三HttpHandle的使用 任务四HttpModule的使用 任务一创建Web Service【任务要点】1.了解Web Service2.创建Web Service【案例1】 创建手机归属地查询的Web Service,运行效果如图8-1所示。 当输入手机号后,单击【调用】按钮,则返回查询结果的XML文件,如图8-2所示。下一页返回任务一创建Web Service【具体步骤】(1)创建Web Service。在建立Web服务之前,首先必须有一个手机信息数据库,数据库中存

2、放了手机归属地信息,本项目中手机归属地信息存放在Mobile.mdb数据库中的list表中,通过Web服务访问,如图8-3所示。 选择VS 2005菜单中的【文件】【新建网站】命令,弹出【新建网站】对话框,如图8-4所示。下一页返回上一页任务一创建Web Service 在【新建网站】对话框中,选择【ASP.NET Web服务】选项,在【位置】下拉列表框中选择【文件系统】选项,【语言】下拉列表框中选择C#语言。单击【浏览】按钮,选择存放Web服务的位置,并将Web服务的文件名修改为“Mobile.asmx”,单击【确定】按钮,此时生成两个文件“Mobile.asmx”和在App_Code目录下

3、的“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)进行访问。它实现了一种在异构环境中

4、各个组织内部及组织之间任意数量的应用程序,或者应用程序组件与平台和编程语言无关的编程模型。Web Service是一门新兴技术,Web服务模型正在改变传统软件的模式,同时也改变了分布式的计算方式。Web服务实现的功能既可以响应客户端一个简单的请求,也可以完成一个复杂的商务流程,尤其在企业应用方面,降低了企业之间的壁垒。Web服务发布后,其他的应用程序和Web服务就可以通过Web进行查找发现和调用该服务。下一页返回上一页任务一创建Web ServiceWeb服务作为一个通用的应用程序接口,它具有以下几个特征。(1)松散耦合(2)完好的封装性(3)使用标准协议规范(4)高度可集成性(5)容易发布和

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服务方法采用的协议。

6、客户端可用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是一个用来在分散、分布式的

7、环境中交换信息的简单协议。由于SOAP消息的格式是标准的,并且基于XML,所以SOAP可以用在不同的计算机体系结构、不同的语言和不同的操作系统之间进行通信。Web服务就是使用SOAP作为它的标准通信协议。 SOAP应用起来比较简单方便,可以用在HTTP、SMTP或其他协议传输上。这就是SOAP被广泛应用的原因所在。SOAP传输的主要是SOAP消息,它主要包括SOAP信封(Envelope),可选的SOAP报头(Header)和必须的SOAP实体(Body)。SOAP信封是SOAP消息的顶级元素,是必需的,它包含两个子元素Header和Body。SOAP报头是可选的,它是一种用来向SOAP消息添

8、加额外特性的通用机制。SOAP报体Body元素中包含发送给最终目标节点的信息,它是必需的。SOAP消息的最终接收者必须要正确处理Body元素。SOAP信息包的具体结构如图8-10所示。返回上一页任务三HttpHandle的使用【任务要点】1.HttpHandle的概念2.使用HttpHandle实现复杂操作【案例1】 实现页面验证码,每次刷新并生成新的验证码,具体运行效果如图8-12所示。【具体步骤】(1)创建HttpHandle处理程序。首先,启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【一般处理程序】选项,如图8-13所示。下一页返回任

9、务三HttpHandle的使用(2)修改处理程序代码(3)在需要调用的页面中添加调用图像代码,添加完成后,运行程序则可以实现如图8-12所示的效果。【案例2】 使用HttpHandler实现对站点下所有图片加水印“A教程”。运行效果如图8-14所示。下一页返回上一页任务三HttpHandle的使用【具体步骤】(1)创建HttpHandle处理程序。首先,启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【类】选项,将类的名称修改为“WaterMark”,如图8-15所示。 单击【添加】按钮,在生成的类中,修改类代码,让其实现IHttpHandle

10、r接口。(2)修改Web.config文件。(3)程序的部署。在IIS中部署此类程序需要注意,由于在默认情况下IIS对“.jpg”类型的图片不做任何处理,所以在部署时,首先应打开网站属性对话框,如图8-16所示。下一页返回上一页任务三HttpHandle的使用 单击【配置】按钮,此时弹出【应用程序配置】对话框,如图8-17所示。 单击【添加】按钮,弹出【添加/编辑应用程序扩展名映射】对话框,如图8-18所示。 选择可执行文件为“aspnet_isapi.dll”,此文件在“C:WINDOWSMicrosoft.NETFrameworkv2.0.50727”目录下。返回上一页任务四HttpMod

11、ule的使用【任务要点】1.HttpModule的概念2.使用HttpModule实现对请求的过滤【案例1】 使用HttpModule实现对整个站点的访问控制,也就是用户必须通过登录页面进入系统,防止用户直接输入URL地址访问系统页面。准备两个或两个以上的页面,在没有获得授权之前,在地址栏输入其他任何页面地址都会跳转到登录页面,省去了在ASP中每个页面都需要判断会话的麻烦。具体运行效果如图8-19所示。 如果登录成功,此时将在所有页面上显示欢迎语“欢迎您!xxxxxx!”,效果如图8-20所示。下一页返回任务四HttpModule的使用【具体步骤】(1)创建登录页面“Login.aspx”,主

12、要包括用户名和密码两个文本框。(2)创建默认主页面“Default.aspx”,页面中不添加任何内容,主要用来输出欢迎词。(3)创建HttpModule处理程序“Validator”。启动VS 2005,创建一个ASP.NET网站,选择【项目】【添加新项】命令,在弹出的对话框中选择【类】选项,将类的名称修改为“Validator”,如图8-21所示。 单击【添加】按钮,在生成的类中,修改类代码,让其实现IHttpModule接口(4)注册模块。在Web.Config中节点之间添加代码。下一页返回上一页任务四HttpModule的使用【背景知识】(1)HttpModule和HttpHandler

13、程序运行模型。ASP.NET请求处理过程是基于管道模型的,在模型中ASP.NET把HTTP请求传递给管道中的所有模块。每个模块都接收HTTP请求并有完全的控制权限。模块可以用任何自认为适合的方式来处理请求。一旦请求经过了所有HTTP模块,就最终被HTTP处理程序处理。HTTP处理程序对请求进行一些处理,并且结果将再次经过管道中的HTTP模块。具体的运行模型如图8-22所示。下一页返回上一页任务四HttpModule的使用(2)HttpHandler处理程序:HttpHanlder处理程序是实现了System.Web.IHttpHandler接口的.NET组件。任何实现了IHttpHandler

14、接口的类都可以用于处理输入的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返回图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论