知识大全 ASP.NET管道(2)
Posted 事件
篇首语:人生不是一种享乐,而是一桩十分沉重的工作。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET管道(2)相关的知识,希望对你有一定的参考价值。
ASP.NET MVC 4框架揭秘:ASP.NET管道(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
ASP NET管道( )
对于一个ASP NET应用来说 HttpApplication派生于Global asax文件 我们可以通过创建global asax文件对HttpApplication的请求处理行为进行定制 Global asax采用一种很直接的方式实现了这样的功能 这种方式不是我们常用的方法重写或事件注册 而是直接采用方法名匹配 在Global asax中 我们按照 Application_Event Name 这样的方法命名规则进行事件注册 比如Application_BeginRequest方法用于处理HttpApplication的BeginRequest事件 如果通过VS创建一个Global asax文件 将采用如下的默认定义
<%@ Application Language= C# %>
<script runat= server >
void Application_Start(object sender EventArgs e)
void Application_End(object sender EventArgs e)
void Application_Error(object sender EventArgs e)
void Session_Start(object sender EventArgs e)
void Session_End(object sender EventArgs e)
</script>
HttpModule
ASP NET拥有一个具有高度可扩展性的引擎 并且能够处理对于不同资源类型的请求 那么是什么成就了ASP NET的高可扩展性呢? HttpModule功不可没
当请求转入ASP NET管道时 最终负责处理该请求的是与请求资源类型相匹配的HttpHandler对象 但是在Handler正式工作之前 ASP NET会先加载并初始化所有配置的HttpModule对象 HttpModule在初始化的过程中 会将一些功能注册到HttpApplication相应的事件中 在HttpApplication请求处理生命周期中的某个阶段 相应的事件会被触发 通过HttpModule注册的事件处理程序也得以执行
所有的HttpModule都实现了具有如下定义的System Web IHttpModule接口 其中Init方法用于实现HttpModule自身的初始化 该方法接受一个HttpApplication对象 有了这个对象 事件注册就很容易了
public interface IHttpModule
void Dispose()
void Init(HttpApplication context)
ASP NET提供的很多基础功能都是通过相应的HttpModule实现的 下面列出了一些典型的HttpModule
OutputCacheModule 实现了输出缓存(Output Caching)的功能
SessionStateModule 在无状态的HTTP协议上实现了基于会话(Session)的状态
WindowsAuthenticationModule+FormsAuthenticationModule+PassportAuthentication Module 实现了Windows Forms和Passport这 种典型的身份认证方式
UrlAuthorizationModule + FileAuthorizationModule 实现了基于URI和文件ACL(Access Control List)的授权
除了这些系统定义的HttpModule之外 我们还可以自定义HttpModule 通过Web config可以很容易地将其注册到Web应用中
HttpHandler
对于不同资源类型的请求 ASP NET会加载不同的Handler来处理 也就是说 aspx 页面与 asmx web 服务对应的Handler是不同的 所有的HttpHandler都实现了具有如下定义的接口System Web IHttpHandler 方法ProcessRequest提供了处理请求的实现
public interface IHttpHandler
void ProcessRequest(HttpContext context)
bool IsReusable get;
某些HttpHandler具有一个与之相关的HttpHandlerFactory 它实现了具有如下定义的接口System Web IHttpHandlerFactory 方法GetHandler用于创建新的HttpHandler 或者获取已经存在的HttpHandler
public interface IHttpHandlerFactory
IHttpHandler GetHandler(HttpContext context string requestType
string url string pathTranslated)
void ReleaseHandler(IHttpHandler handler)
返回目录 ASP NET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化 让你的Java程序更快 更稳定
cha138/Article/program/net/201311/16116相关参考
ASP.NETMVC4框架揭秘:ASP.NET管道(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
ASP.NET性能提升秘诀之管道与进程优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASP
再谈IIS与ASP.NET管道的理解 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在年月份我曾
知识大全 ASP.NET入门教程 10.5.3 ASP.NET 2.0的新特性[2]
ASP.NET入门教程10.5.3ASP.NET2.0的新特性[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
知识大全 如何由ASP.NET 1.1移植到ASP.NET 2.0
如何由ASP.NET1.1移植到ASP.NET2.0 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 ASP.NET入门教程 7.2 ASP.NET 2.0的数据控件
ASP.NET入门教程7.2ASP.NET2.0的数据控件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
知识大全 ASP.NET入门教程 10.5.3 ASP.NET 2.0的新特性[1]
ASP.NET入门教程10.5.3ASP.NET2.0的新特性[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快
ASP.NET开发要抛弃ASP旧习和破烂[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 对
从.NET类库代码来看ASP.NET运行时[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&n
ASP.NET之数据绑定2 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &