asp.net 新手随手写写 请不要见怪 错误求拍砖 有爱好技术的net同胞留个联系方式
HttpApplication是在HttpContext创建之后,又HttpRuntime随后创建出来的。
和HttpContext不同的是HttpAppliction的是HttpApplication可以重复使用。每个HttpApplication对象每次仅仅处理一个请求。asp。net封装了并行机制不用考虑多个HttpApplication的并行,HttpApplication的事件很多,更有意思的是我们称为“处理管道”事件处理流程。
先 看看这个流程图自己比较笨不会画转载百度图片
如果有兴趣的朋友可以去了解下线性字典的ComponentModel.Component这个类
这个类有个方法 public void Add(Object key,Delegate Value)和public void remove(Object key,Delegate Value)Delegate this[Object key]
这边管道事件有19个不过百度图片上边载得就13个(懒得画)这个从上到下 抽取几个出来说说
AuthenticateReuest和PostAuthenticateRequest说明用户身份验证开始,和通过身份验证,在第2个方法执行后HttpContext中的User才可以获取。
AuthorizeRequest表示用户权限检查,本人在做网站的时候不怎么用到重写微软身份验证,
ResolveRequestCache 事件表示重之前的缓存区中输出结果
PostAcquireRequestState 表示对于无Cookie的http请求创建Session状态
LogRequest 和PostLog 表示处理日记程序。
在整个HttpAppliction的处理过中 HttpContext 一直贯穿着。例如User 和Handler 和HttpContext中的Items