【问题标题】:Which event occurs first, OnAuthorizeRequest of HttpModule or IIS logging哪个事件先发生,HttpModule 的 OnAuthorizeRequest 或 IIS 日志记录
【发布时间】:2018-07-04 17:02:13
【问题描述】:

让我先解释一下上下文。

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

我有一个 HttpModule,它有助于在事件 OnAuthorizeRequest 上重写 URL。

因此,每当请求以 www.mysite.com/abc/ 出现时,模块都会使用 context.RewritePath 将其重写为其底层模板,例如 /abcTemplate.aspx

现在,当我检查我的 IIS 日志时,即C:\inetpub\logs\LogFiles,除了很多/abcTemplate.aspx,我无法在任何地方找到/abc/

所以,有几个问题

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

我找到了一个链接here,但它并没有完全回答我的问题。

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

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

请帮忙。

提前致谢。

【问题讨论】:

标签: asp.net iis url-rewriting httpmodule iis-logs


【解决方案1】:

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

Source MSDN

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

【讨论】:

    【解决方案2】:

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

    您可以参考这里的表格,检查 Configure Failed Request Tracing 以设置 IIS 跟踪以进行重写 https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多