0

HttpResponse.End()は、msdnによると例外をスローするようです。現在、スレッドの終了を示す値を返すか(2つの関数の深さしかありません)、end()を呼び出すかを選択できます。

例外のスローは非常に遅いことを知っています(C#/。NETテストのコメントを読んでください)。したがって、高速なWebアプリが必要な場合は、呼び出さないのが簡単なときに呼び出さないことを検討する必要がありますか?

-編集-ユーザーがログインしていることを確認するために、特定の関数とクラスのコンストラクターに関数呼び出しがあります。したがって、通常のサイトでの使用ではあまり頻繁に発生しないことを願って、十分な場所でHttpResponse.End()を呼び出します。 。

4

2 に答える 2

2

を使用するだけResponse.Endです。パフォーマンスのためにコードを書く前に、保守性のためにコードを書いてください。

さらに、 Webアプリにとって重要なパフォーマンス指標はスケーラビリティです。つまり、「この1つのリクエストをどれだけ速く処理できるか」ではなく、「同時にいくつのリクエストを処理できるか」という質問をする必要があります。

例外はスケーラビリティに影響しません。大規模なスキームでは、1回のリクエストで数マイクロ秒余分にかかることはありません。ネットワークラウンドトリップでは少なくとも50ミリ秒になることを忘れないでください。さらに100マイクロ秒はノイズです。

于 2010-05-30T23:34:52.210 に答える
2

リクエストを完全に終了する代わりに、HttpResponse.Flushを使用してデータをクライアントにプッシュし、潜在的な例外がスローされるのを回避できます。

注:この例外は、Response.Endが呼び出されたときに常にスローされるわけではなく、リクエストを途中で終了した場合にのみスローされます。

于 2010-05-30T23:16:47.783 に答える