现在的位置: 首页 > 综合 > 正文

HTTP处理之小试牛刀—防盗链模块

2011年01月17日 ⁄ 综合 ⁄ 共 4402字 ⁄ 字号 评论关闭
      最近在学并想些点关于HTTP处理的东西,偶然看到 文野 兄的系列文章 《一点一点学ASP.NET之基础概念——HttpHandler 》《一点一点学ASP.NET之基础概念——HttpModule 》 文章写得深入浅出 通俗易懂。戏水遂不敢狗尾续貂 只从msdn摘抄些文字,方便查阅。另附学习后的实践作品一个------防盗链模块 的简单实现 ,希望过路的神仙多给宝贵意见,善哉!

BeginRequest 此事件标志着这是一个新请求;每个请求都必须产生该事件
AuthenticateRequest 此事件标志着所配置的身份验证机制已经验证了请求。附加到此事件可向筛选器确保请求已通过身份验证
AuthorizeRequest AuthenticateRequest 一样,此事件标志着现在请求在处理过程中又前进了一步,并且请求已经得到授权
ResolveRequestCache 输出缓存模块使用此事件来简化对已经缓存的请求所进行的处理
AcquireRequestState 此事件标志着应该获得各个请求状态
PreRequestHandlerExecute 此事件标志着请求处理程序将要执行。这是在调用此请求的 HTTP 处理程序之前您可以参与的最后一个事件

下一个列表显示了处理请求之后产生的事件。这些事件是按照发生的顺序列出的:

PostRequestHandlerExecute

. 此事件标志着 HTTP 处理程序已经完成了对请求的处理。

ReleaseRequestState

. 此事件标志着应该存储请求状态,因为应用程序已经完成了对请求的处理。

UpdateRequestCache

. 此事件标志着代码处理已完成,可以将文件添加到 ASP.NET 缓存中。

EndRequest

. 此事件标志着已完成对请求的所有处理。这是应用程序结束时所调用的最后一个事件。

此外,以下三个请求处理前事件可以按不确定顺序引发:

PreSendRequestHeaders

.此事件标志着 HTTP 头将要发送给客户端。因此可以在发送之前添加、删除或修改头信息。

PreSendRequestContent

. 此事件标志着内容将要发送给客户端。这为发送之前修改内容提供了一个机会。

Error

. 此事件标志着有未处理的异常。

源代码

下载源代码

抱歉!评论已关闭.