2013-12-15 21 views
0

我正在使用Response.Redirect(url, **false**);以防止發生異常。但是,我看到它後面建議使用CompleteRequest();,我不明白這一點。例如:here on MSDN。據我所知,CompleteRequest不是終止執行(雖然它會影響渲染),所以任何代碼與持續的後果,如數據庫寫入 - 有效果。因此停止代碼必須由return等進行管理。需要而不是進行處理。關於CompleteRequest();

我的理解是否正確? (我在問,因爲上面的鏈接和類似的鏈接)。

回答

0

你的理解是正確的。使用CompleteRequest()表示ASP.NET運行時不需要進一步處理請求,並繞過HTTP管道中的所有事件並直接調用EndRequest事件。但是,它不會停止執行其餘的代碼行。它會優雅地結束請求以防止數據丟失。