`

ASP.NET处理程序和模块(一)

阅读更多

ASP.NET处理程序和模块

ASP.NET HTTP 处理程序(Handler)是响应对 ASP.NET Web 应用程序的请求而运行的程序

如处理 *.aspx文件的ASP.NET处理程序,当用户请求 *.aspx文件时就通过相应的处理程序.

这是ASP.NET内置的处理程序,默认处理*.aspx文件的是ASP.NET的页处理程序

(用于所有 ASP.NET 页的默认 HTTP 处理程序.)

内置处理程序还有:

处理*asmx文件的Web服务处理程序在(ASP.NET 中作为

.asmx 文件创建的 Web 服务页的默认 HTTP 处理程序)

处理ashx文件的泛型处理程序(不含 UI 和包括 @ WebHandler 指令的所有

Web 处理程序的默认 HTTP 处理程序)

学习ASP.NET处理程序编程的目的:深入了解ASP.NET服务器相应客户端的过程,

创建自己的ASP.NET处理程序来提高网站的健壮性(比如状态、身份验证等)。

创建HTTP处理程序步骤:

实现 IHttpHandler接口。

实现 ProcessRequest方法。

在 Web.config 中注册该处理程序。

要创建ASP.NET处理程序要实现 IHttpHander接口(System.Web命名空间下)

IHttpHander接口中只有一个方法 void ProcessRequest(HttpContext context)

而且还有一个属性 IsReusable 获取一个值,该值指示其他请求是否可以使用 IHttpHandler实例。

此时已经实例化好了context对象(一个context对象相当于整个网站信息,context中有

Application、Response、Request等属性),这样就把用户的请求和响应完全掌握在自己手中了。

实现IHttpHander接口(这里注意一下显式实现,隐式实现,想一下接口的定义)

ASP.NET处理程序需要在Web.config中配置

找到<httpHandlers></httpHandlers>配字节

(根据请求中指定的 URL 和 HTTP 谓词将传入的请求映射到相应的处理程序)

<add> 指令按由上而下的顺序进行处理。如果两个或多个 <add> 元素指定相同的谓词/路径,

组合则最后一个 <add> 会重写其他所有元素。

<add verb="" path="*.文件扩展名" type="(命名空间)类">

ASP.NET模块

HTTP 模块(Module)是一个在每次针对应用程序发出请求时调用的程序集。

HTTP 模块作为 ASP.NET 请求管道的一部分调用,它们能够在整个请求过程中访问生命周期事件

HTTP 模块一般用于检查传入和传出的请求并根据该请求进行操作。

创建HTTP模块步骤:

1、实现 IHttpModule接口。

2、处理 Init 方法并为所需事件进行注册。

3、处理该事件。

4、在 Web.config 中注册该模块。

实现IHttpModule接口(System.Web命名空间下)

IHttpModule接口中有两个方法:

Dispose 处置由实现 IHttpModule 的模块使用的资源(内存除外)。

Init 初始化模块,并使其为处理请求做好准备。

Init(HttpApplication application)初始化模块,并使其为处理请求做好准备。

该方法最为实用

在该方法中用application对象来处理各种事件

比如处理开始请求事件:

application.BeginRequest += new EventHandler(application_BeginRequest);

再编写自己的application_BeginRequest方法即可(注意委托的定义).

Dispose 处置由实现 IHttpModule 的模块使用的资源(内存除外)。

分享到:
评论

相关推荐

    【ASP.NET编程知识】利用IIS调试ASP.NET网站程序的完整步骤.docx

    【ASP.NET编程知识】利用IIS调试ASP.NET网站程序的完整步骤.docx

    ASP.NET网站登录验证模块程序源码

    ASP.NET网站登录验证模块程序源,非常完整的登录模块实现。

    asp.net网站访问统计模块安装和部署

    asp.net网站开发典型模块与实例精讲

    ASP.NET 完全入门

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    公告管理系统 asp.net

    公告管理系统 本系统是为办公网站发布公告而设计,各个部门发布自己所在部门的某种类型的公告,给各类不同的用户查看。管理员可以实现对本部门的公告实现增删改...(里面附带有程序编写文档,一份很好的asp.net学习材料)

    asp.net典型模块与项目实战大全源程序

    asp.net典型模块与项目实战大全源程序

    ASP.NET开发实战详解

    上篇为基础知识篇,主要介绍ASP.NET的基础知识,包括ASP.NET的运 行环境、基本语法、常用的内置Web服务器控件、自定义控件以及如何在ASP .NET中进行数据访问和ASP.NET应用程序的部署等;中篇为典型模块篇,主 要介绍...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    7.4.1 事务和ASP.NET应用程序 7.4.2 隔离级别 7.4.3 保存点 7.5 提供程序无关的代码 7.5.1 创建工厂 7.5.2 用工厂创建对象 7.5.3 使用提供程序无关的代码的查询 7.6 总结 第8章 数据组件和DataSet...

    ASP.NET旅游网站

    是一款asp.net(c#)+sql数据库开发的计算机毕业设计作品

    asp.net 简单购物车模块

    │ │ asp.net.jpg │ │ fjtp.jpg │ │ login.css │ │ Login.GIF │ │ login_logo.jpg │ │ login_shadow.jpg │ │ RESET.GIF │ │ sy_01.jpg │ │ sy_02.jpg │ │ sy_03.jpg │ │ sy_04.jpg │ │ sy_05...

    ASP.NET从入门到精通

    第13章 ASP.NET 内置对象,应用程序配置和缓存 第14章 ASP.NET XML 和Web Service 第五篇 ASP.NET 3.5 高级编程 第15章 图形图像编程 第16章 ASP.NET 3.5 和AJAX 第17章 ASP.NET MVC 基础 第18章 WCF 开发基础 第19章...

    asp.net组件工具包vb.net web解决方案

    ASP.NET为广大.NET开发人员提供了一种优秀的体系结构,使他们可以通过模块组件来构建自己的Web站点。本书重点讲述了一系列可重用的ASP.NET组件,可以直接使用或经过少理修改后使用这些组件,从而为自己的ASP.NET Web...

    asp.net完全入门

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    基于asp.net技术 学生留言板的设计与实现

    能学到什么:ASP.NET技术的基本理解和使用,ADO.NET技术的掌握和使用,BootStrap前端框架的基本使用方法和练习。 适合人群:具备一定编程基础,web程序设计入门者,适合新手小白,适合于课程设计。

    c#语言Asp.net电子邮件发送模块例子程序

    c#语言Asp.net电子邮件发送模块例子程序。编写工具为vs2005.很好用。可以直接引用到自己的程序中。

    《ASP.NET 完全入门》

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    asp.net典型模块与项目开发大全1

    asp.net典型模块与项目开发大全,包含实战程序,适合开发人员

    ASP.NET编程宝典(十年典藏版).pdf

    主要包括ASP.NET技术基础、c#语言基础、流程语句控制和数组、面向对象编程、常用服务器控件、内置对象、验证控件、ADO.NET数据库开发技术、数据控件的应用、Web用户控件、ASP.NET缓存技术、Ajax无刷新技术、LINQ...

    asp.net完全入门pdf教程

    ASP.NET完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让ASP.NET远远超越了ASP,同时也提供给web开发人员更好的灵活性,有效缩短...

    ASP.NET2.0典型模块(17-22)ASP.NET2.0典型模块(1-16)

    复杂上传和下载 复杂类型文件的上传和下载模块 第三方组件范例 使用第三方组件实现的上传和下载范例 &lt;br&gt;第10章(\C10) 示例描述:本章示例展现了如何使用ASP.NET 2.0实现网络的图文验证功能 ...

Global site tag (gtag.js) - Google Analytics