哪个事件先发生,HttpModule 的 OnAuthorizeRequest 还是 IIS logging

Which event occurs first, OnAuthorizeRequest of HttpModule or IIS logging

先解释一下上下文

以下是我的理解,请勿喷我:)

我有一个 HttpModule 可以帮助 url 重写事件 OnAuthorizeRequest

因此,无论何时收到带有 say www.mysite.com/abc/ 的请求,模块都会使用 context.RewritePath

将其重写为其基础模板 say /abcTemplate.aspx

现在,当我检查我的 IIS 日志时,即 C:\inetpub\logs\LogFiles 除了很多 /abcTemplate.aspx

,我无法在任何地方找到 /abc/

所以,有几个问题

  1. /abc/ 是否曾经登录过 IIS。如果是那么在哪里?
  2. 如果不是那么是否意味着 HttpModule 中的事件发生在 IIS logging 之前?

我找到了 link here 但它没有完全回答我的问题。

除上述外,我尝试在互联网上搜索但没有得到任何相关结果。

可能我没有输入正确的关键字。

请帮忙。

提前致谢。

IIS 日志记录在准备好响应后记录请求。检查此事件生命周期。

Source MSDN

在您的情况下,RewritePath 首先发生,在事件生命周期的后期阶段,IIS 正在记录详细信息。

我认为你应该启用重写日志

您可以参考此处的表格,检查配置失败的请求跟踪 以设置 IIS 跟踪以进行重写 https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules