在ASP.NET中,HTTPHandler能否跳过Global.asax.cs应用程序\u BeginRequest处理程序?

在ASP.NET中,HTTPHandler能否跳过Global.asax.cs应用程序\u BeginRequest处理程序?,asp.net,httphandler,Asp.net,Httphandler,我在IIS 6下运行 我有一个HttpHandler,它处理特定文件扩展名的请求(让我们调用扩展名.foo) Global.asax.cs中我的应用程序_BeginRequest处理程序执行一个我不想执行的操作,以响应.foo请求 我知道在应用程序_BeginRequest处理程序中,我可以基于HttpContext.Current.Path(或类似的东西)有条件地执行操作,但我不希望在Global.asax.cs文件的逻辑中混入不需要知道的细节 我更希望.foo文件的HttpHandler始终

我在IIS 6下运行

我有一个HttpHandler,它处理特定文件扩展名的请求(让我们调用扩展名.foo)

Global.asax.cs中我的应用程序_BeginRequest处理程序执行一个我不想执行的操作,以响应.foo请求

我知道在应用程序_BeginRequest处理程序中,我可以基于HttpContext.Current.Path(或类似的东西)有条件地执行操作,但我不希望在Global.asax.cs文件的逻辑中混入不需要知道的细节

我更希望.foo文件的HttpHandler始终跳过应用程序\u BeginRequest处理程序


谢谢

我认为这是不可能的。应用程序_BeginRequest事件在IIS甚至不知道哪个HTTPHandler将处理该请求之前被触发


Global.asax构造有点过时。实际上,您得到的是与自定义HttpModule相同的东西。。。根据定义,所有请求都必须通过所有注册的模块。在这种情况下,我认为可以将逻辑添加到BeginRequest处理程序中,以便仅有条件地执行。但也许您真正想做的是将此逻辑移动到自定义的HttpModule?或多个模块。。。那么代码和逻辑就不会那么“混乱”了。

谢谢你,布莱恩!听起来我需要仔细阅读请求的事件顺序。:)