gpt4 book ai didi

c# - ASP.NET HttpModule - 保证前后处理程序代码的执行?

转载 作者:行者123 更新时间:2023-11-30 12:54:09 26 4
gpt4 key购买 nike

基本上,我试图在 ASP.NET HttpModule 中编写以下(伪代码):

*pre-code*
try { handler.ProcessRequest(...) }
catch (Exception) { *error-code* }
finally { *post-code* }

我发现我可以挂接到 HttpModule.PreExecuteHandler 以获取“预代码”,并挂接到 .Error 以获取“错误代码”。但是 PostExecuteHandler 似乎并没有可靠地运行。

BeginRequest 和 EndRequest 运行可靠,但对于我需要编写的代码来说还为时过早,这需要检查选择执行的处理程序。直到 BeginRequest 之后才选择处理程序。

是否有编写此类包装器的最佳实践?

谢谢!

最佳答案

除了不调用 Response.End 之外,没有办法做你想做的事(至少在 HttpModule 中)。 This article很好地解释了它并提供了 Response.End 的替代方案,以防它是您调用 Server.Transfer 的副作用。

关于c# - ASP.NET HttpModule - 保证前后处理程序代码的执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/289432/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com