关于CompleteRequest();

时间:2013-12-15 19:14:37

标签: c# asp.net asp.net-4.0 response.redirect

我正在使用Response.Redirect(url, **false**);来防止异常。但是,我看到它建议在它之后使用CompleteRequest();,我不明白。示例:here on MSDN。据我所知,CompleteRequest终止执行(虽然它会影响渲染),因此任何具有持续后果的代码(如数据库写入 - )都有效果。因此,停止代码必须由return等进行管理。Redirect处理

我的理解是否正确? (我问的是因为上面的链接和类似的链接。)

1 个答案:

答案 0 :(得分:0)

您的理解是正确的。使用CompleteRequest()表示ASP.NET运行时不需要对请求进行进一步处理,它绕过HTTP管道中的所有事件并直接调用EndRequest事件。但是,它不会停止执行剩余的代码行。它会优雅地结束请求,以防止数据丢失。