gpt4 book ai didi

asp.net - Response.Redirect - 使用异常进行流量控制?

转载 作者:行者123 更新时间:2023-12-02 15:55:00 25 4
gpt4 key购买 nike

Response.Redirect 有两个重载:

public void Redirect(string url)Parameters:url: The target location.
public void Redirect(string url, bool endResponse)Parameters:url: The location of the target.endResponse: Indicates whether execution of the current page should terminate.

如果我调用第一个重载,或者在将 endResponse 设置为 true 的情况下调用第二个重载,则会抛出 ThreadAbortException

我为什么要使用这种方法?这不是一个使用异常处理程序流程的例子吗? (因此是一件坏事)

如果我的重定向确实需要异常,那么我是否最好抛出一个包含重定向原因的信息更丰富的异常?

最佳答案

如果您将 endResponse 设置为“true”,则实际上是在说“我已完成此页面,请忽略我之后的任何内容”。

引发“ThreadAbortException”的原因是,您编写的任何 Finals/Catches 等都会被触发,并且在发送到下一页之前资源会被正确清理。

来自MSDN :

ThreadAbortException is a special exception that can be caught, but it will automatically be raised again at the end of the catch block. When this exception is raised, the runtime executes all the finally blocks before ending the thread.

关于asp.net - Response.Redirect - 使用异常进行流量控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577126/

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