1

使用 Response.Redirect("url",true) 时,执行线程如何终止。?

以及编译器如何通过这个布尔值知道线程应该执行还是不执行?

4

1 回答 1

1

TFM对 Response.Redirect 及其布尔参数有以下说法:

当您在页面处理程序中使用此方法来终止对一个页面的请求并开始对另一个页面的新请求时,请将 endResponse 设置为false,然后调用 CompleteRequest 方法。如果为 endResponse 参数指定 true,则该方法会为原始请求调用End方法,该方法在完成时会抛出 ThreadAbortException 异常[强调我的]。此异常对 Web 应用程序性能有不利影响,这就是为什么建议为 endResponse 参数传递false的原因。有关详细信息,请参阅 End 方法。

另请注意,不是编译器知道应该做什么。这只是Redirect方法的实现方式。提供的链接中的更多详细信息。

于 2013-09-23T12:17:44.017 回答