一个请求是否能在流水线中被提前处理和结束?

9
我有一个HttpModule,它绑定了一个事件处理程序到EndRequest。
有没有办法在事件处理程序内部处理请求?也就是说,我不仅想运行代码并保持请求移动 - 我想彻底停止它,返回一个200状态码,然后结束请求,而不是让请求继续进行到管道的下一步。
1个回答

8

HttpContext.Current.ApplicationInstance.CompleteRequest();

Documentation


这看起来很有趣,但这会完全终止请求吗?它似乎只是跳过了管道的其余部分,直接进入EndRequest。然而,那正是我目前所处的位置(那是我绑定处理程序的事件),它不还是要提供一个响应吗? - Deane
这将结束请求的所有进一步处理。您的处理程序不是管道中唯一的处理程序,因此这将取消您之后其他处理程序的进一步处理,并立即将响应发送给客户端。 - Robert C. Barth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接