Response.End()
とCompleteRequest()
のそれぞれの長所と短所は何ですか?どこで使用すべきで、使用すべきではありませんか?私はこれを見ました 質問 しかし私は適切な答えを得ませんでした。
HttpResponse.End
は出力バッファーをクライアントにフラッシュし、現在の要求処理スレッドを終了します(これは悪いことです)が、HttpApplication.CompleteRequest
はASP.NETに、ASP.NETパイプラインの将来のすべてのステージをすぐにスキップしてジャンプするように指示しますEndRequestステップに直接移動します(これにより、HttpApplication.EndRequest
イベントも発生します)。その後、リクエストスレッドは通常のサポート終了後のクリーンアップを続行します。
つまり、Response.End
は射出座席のようなものです。すぐに物事を終わらせますが、コントロールを失い、不必要に過酷になる可能性があります。一方、CompleteRequest
は、最寄りの空港に緊急着陸するようなものです。