Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net HTTPModule事件执行顺序?_Asp.net_Httpmodule_Httpapplication - Fatal编程技术网

Asp.net HTTPModule事件执行顺序?

Asp.net HTTPModule事件执行顺序?,asp.net,httpmodule,httpapplication,Asp.net,Httpmodule,Httpapplication,是否有人知道某个站点或页面,或者知道HTTPModule事件执行的HTTPApplication类事件的执行顺序 我找到了所有事件的,但它没有显示流程步骤的列表,我也没有找到一个。也许这有帮助 HttpApplication类提供了许多模块可以同步的事件。以下事件可供模块在每次请求时与同步。这些事件按顺序列出: 开始请求 认证请求 授权请求 ResolveRequestCache 获得平等国家 PreRequestHandlerExecute PostRequestHandlerExecute

是否有人知道某个站点或页面,或者知道HTTPModule事件执行的HTTPApplication类事件的执行顺序

我找到了所有事件的,但它没有显示流程步骤的列表,我也没有找到一个。

也许这有帮助

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

  • 开始请求
  • 认证请求
  • 授权请求
  • ResolveRequestCache
  • 获得平等国家
  • PreRequestHandlerExecute
  • PostRequestHandlerExecute
  • 释放请求状态
  • UpdateRequestCache
  • 结束请求
  • 以下事件可用于模块,以便与每个请求传输同步。这些事件的顺序是不确定的

    • 提交请求标题
    • 呈现请求内容
    • 错误

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

    MSDN库文档:

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

  • 验证请求,该请求检查浏览器发送的信息,并确定其是否包含潜在的恶意标记
  • 如果在Web.config文件的UrlMappingsSection部分中配置了任何URL,则执行URL映射
  • 引发BeginRequest事件
  • 引发AuthenticateRequest事件
  • 引发PostAuthenticateRequest事件
  • 引发授权请求事件
  • 引发后授权请求事件
  • 引发ResolveRequestCache事件
  • 引发PostResolveRequestCache事件
  • [IIS 5.0/6.0]根据请求资源的文件扩展名(映射到应用程序的配置文件中),选择实现IHttpHandler的类来处理请求。如果请求是针对从page类派生的对象(页),并且需要编译该页,则ASP.NET会在创建该页的实例之前编译该页[IIS 7.0]引发MapRequestHandler事件。根据请求的资源的文件扩展名选择适当的处理程序。处理程序可以是本机代码模块,如IIS 7.0 StaticFileModule,也可以是托管代码模块,如PageHandlerFactory类(用于处理.aspx文件)
  • 引发PostMapRequestHandler事件
  • 引发收单机构请求状态事件
  • 引发PostAcquireRequestState事件
  • 引发PreRequestHandlerExecute事件
  • 为请求调用相应IHttpHandler类的ProcessRequest方法(或异步版本IHTTPassynchandler.BeginProcessRequest)。例如,如果请求是针对某个页面的,则当前页面实例将处理该请求
  • 引发PostRequestHandlerExecute事件
  • 引发释放请求状态事件
  • 引发发布后请求状态事件
  • 如果定义了筛选器属性,则执行响应筛选
  • 引发UpdateRequestCache事件
  • 引发postPDateRequestCache事件
  • [IIS 7.0]引发日志请求事件
  • [IIS 7.0]引发PostLogRequest事件
  • 引发EndRequest事件
  • 引发PreSendRequestHeaders事件
  • 引发PreSendRequestContent事件
  • 注意:仅当应用程序在IIS 7.0和.NET Framework 3.0或更高版本中以集成模式运行时,才支持MapRequestHandler、LogRequest和PostLogRequest事件


    被接受的答案已经过时了。以下是事件的列表,其引发顺序如下:

  • 开始请求

  • 认证请求

  • 后验证请求

  • 授权请求

  • 后授权请求

  • ResolveRequestCache

  • 后解析请求缓存

    在PostResolveRequestCache事件之后和PostMapRequestHandler事件之前,将创建一个事件处理程序(对应于请求URL的页面)。当服务器以集成模式运行IIS 7.0且至少运行.NET Framework 3.0版时,将引发MapRequestHandler事件。当服务器以经典模式或IIS的早期版本运行IIS 7.0时,无法处理此事件

  • 邮递员

  • 获得平等国家

  • 获取后请求状态

  • PreRequestHandlerExecute

  • PostRequestHandlerExecute

  • 释放请求状态

  • 发布后请求状态

  • UpdateRequestCache

  • PostUpdateRequestCache

  • 日志请求

  • 事后请求

  • 结束请求