首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTPModule事件执行顺序?

HTTPModule事件执行顺序?
EN

Stack Overflow用户
提问于 2009-01-14 00:13:01
回答 3查看 39.9K关注 0票数 60

有没有人知道站点或页面,或者知道用于HTTPModule事件执行的HTTPApplication类的事件的执行顺序?

我找到了所有事件的MSDN Documentation,但它没有显示流程步骤的列表,而且我也找不到。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-01-14 00:32:47

也许这对你有帮助

http://support.microsoft.com/kb/307985/en-us/

是一个HttpApplication类,它提供了许多模块可以与之同步的事件。以下事件可供模块在每次请求时同步。这些事件按顺序列出:

  1. BeginRequest
  2. AuthenticateRequest
  3. AuthorizeRequest
  4. ResolveRequestCache
  5. AcquireRequestState
  6. PreRequestHandlerExecute
  7. PostRequestHandlerExecute
  8. ReleaseRequestState
  9. UpdateRequestCache
  10. EndRequest

以下事件可供模块在每次请求传输时同步。这些事件的顺序是不确定的。

  • PreSendRequestHeaders
  • PreSendRequestContent
  • Error

有关完整信息,请参阅文章。

票数 84
EN

Stack Overflow用户

发布于 2012-01-22 08:02:20

MSDN Library文档:

  • ASP.NET Application Life Cycle Overview for IIS 5.0 and 6.0
  • ASP.NET Application Life Cycle Overview for IIS 7.0

以下是ASP.NET 4.0请求管道中的事件(粗体)和其他步骤:

URL验证请求,它检查浏览器发送的信息并确定它是否包含潜在的恶意markup.

  • Perform
  1. 映射,如果在UrlMappingsSection文件的Web.config节中配置了任何URL。
  2. 引发BeginRequest事件。
  3. 引发PostAuthenticateRequest事件。
  4. 引发AuthenticateRequest事件。
  5. 引发UrlMappingsSection事件。

引发URL事件。H131引发URL事件。H135引发URL事件。引发URL事件。引发URL 5.0/6基于所请求资源的文件扩展名(映射到应用程序的配置文件中)的.0,选择一个实现IHttpHandler的类来处理请求。如果该请求是对派生自Page类的对象(页面)的请求,并且需要编译该页面,则ASP.NET会在创建该页面的实例之前编译该页面。IIS 7.0引发MapRequestHandler事件。基于所请求资源的文件扩展名选择适当的处理程序。处理程序可以是本机代码模块(如IIS7.0 StaticFileModule ),也可以是托管代码模块(如处理PostMapRequestHandler事件的PageHandlerFactory类)。

  1. 引发AcquireRequestState事件。
  2. 引发PreRequestHandlerExecute事件。
  3. 引发StaticFileModule事件。
  4. 为请求调用相应IHttpHandler类的ProcessRequest方法(或异步版本IHttpAsyncHandler.BeginProcessRequest)。例如,如果请求是针对页面的,则当前页面实例将处理该请求。
  5. 引发PostRequestHandlerExecute事件。
  6. 引发ReleaseRequestState事件。如果Filter属性为UpdateRequestCache事件,
  7. 引发UpdateRequestCache响应筛选。
  8. 引发event.
  9. IIS 7.0
  10. 引发<

>e194>日志请求<>e295>e299>引发PostUpdateRequestCache event.

  1. IIS事件。引发EndRequest event.
  2. Raise PreSendRequestHeaders event.
  3. Raise PreSendRequestContent事件。

注意:仅当应用程序在IIS7.0和.NET Framework3.0或更高版本中以集成模式运行时,才支持MapRequestHandler、LogRequest和PostLogRequest事件。

票数 51
EN

Stack Overflow用户

发布于 2019-03-29 06:48:35

可接受的答案已过期。以下是根据the documentation引发事件的顺序的事件列表

  1. BeginRequest
  2. AuthenticateRequest
  3. PostAuthenticateRequest
  4. AuthorizeRequest
  5. PostAuthorizeRequest
  6. ResolveRequestCache
  7. PostResolveRequestCache

在PostResolveRequestCache事件之后、PostMapRequestHandler事件之前,将创建一个事件处理程序(它是一个对应于请求URL的页面)。当服务器在集成模式下运行IIS7.0并且至少运行.NET Framework3.0版时,将引发MapRequestHandler事件。当服务器在经典模式下运行IIS7.0或早期版本的IIS时,此事件不能为handled.

  • PostMapRequestHandler

  • AcquireRequestState

  • PostAcquireRequestState

  • PreRequestHandlerExecute

  • PostRequestHandlerExecute

  • ReleaseRequestState

  • PostReleaseRequestState

  • UpdateRequestCache

  • PostUpdateRequestCache

  • LogRequest

  • PostLogRequest

  • EndRequest
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/441421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档