【问题标题】:HttpHandler is not processed when its associate HttpModule is processed处理关联的 HttpModule 时不处理 HttpHandler
【发布时间】:2009-02-20 18:12:34
【问题描述】:

在我们的 asp.net 2.0 应用程序中,我们有一个 HttpModule 和 HttpHandler。它们在 web.config 中注册以处理对某些文件类型的请求。 使用 MS AJAX 从客户端异步发起请求。 我注意到一些奇怪的事情: HttpHandler:ProcessRequest 没有在每个 HttpModule:EndRequest 上输入,这似乎是不正确的行为,因为我对事件流的理解: HttpModule:BeginRequest > HttpHandler:ProcessRequest > HttpModule:EndRequest。由于某种原因,有时会跳过处理程序部分。 这可能是什么原因造成的?

【问题讨论】:

  • 拉梅什成功了。作为一个模块新手,我没有意识到所有请求都通过模块,但只有一些通过处理程序。

标签: asp.net httphandler httpmodule


【解决方案1】:

如果我理解正确的话,HttpModule 会针对到达您应用程序的每个请求执行,而 HttpHandler 只会针对已注册的扩展程序执行。

因此,除了您向处理程序发出的请求之外,应用程序可能还有其他请求。

【讨论】:

    【解决方案2】:

    您是否在 IIS 中设置了要由 .net 处理的文件类型?

    【讨论】:

      【解决方案3】:

      我相信对 Server.Transfer 和 Response.End 的调用可以使管道短路,您的逻辑分支是否可能这样做?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 2010-10-01
        • 2011-09-30
        • 2013-05-05
        • 2011-06-18
        • 2016-10-28
        相关资源
        最近更新 更多