18

What are the advantage and disadvantage for each of Response.End() and CompleteRequest()? Where should I and should I not use them? I looked at this question but I didn't get a proper answer.

4

1 に答える 1

34

HttpResponse.End出力バッファーをクライアントにフラッシュし、現在の要求処理スレッドを終了します (これは悪いことです)。一方HttpApplication.CompleteRequest、ASP.NET パイプラインの将来のすべてのステージをすぐにスキップし、EndRequest ステップに直接ジャンプするように ASP.NET に指示します (これにより、HttpApplication.EndRequestイベント)。次に、要求スレッドは、通常のサポート終了時のクリーンアップに進みます。

つまり、Response.End射出座席のようなものです。物事はすぐに終了しますが、制御できなくなり、不必要に過酷になる可能性があります。一方CompleteRequest、最寄りの空港に緊急着陸するようなものです。

于 2013-03-28T07:24:10.153 に答える