5

約5年の休憩の後、ASP.NET 4.0 Webフォームプロジェクトに取り組んでいますが、送信動作について混乱しています。

ボタンのクリックイベントでは、送信ボタンを複数回クリックできるようにスレッドをスリープ状態にします。

私の知る限り、ASP.NETはクリックイベントが複数回呼び出されるのを防いでいます。これは本当ですか?

ところで:私はこのテストのためにJavaScriptをオフにしました。

4

2 に答える 2

11

ASP.NETはクリックイベントが複数回呼び出されるのを防いでいます。これは本当ですか?

いいえ、実際にあなたに起こっていることは、あなたのイベントがセッションのロックによってブロックされているということです。(asp.netのセッションは、サイトにアクセスする各ユーザーのデータを保持できるasp.netのモジュールです)

したがって、送信を行い、ページがこの送信を実行していて、最初の送信の前に2番目の送信を行うと、実際には2番目の送信が最初の送信を待ってセッションのロックを解除します。

テストを行い、セッションがリクエストをロックしていることを証明するには、セッションをオフにして、テストを再試行してください。

相対:
同じセッションを共有しているときに別のWebアプリを処理しているときにブロックされたWebアプリ
ASP.NETのボトルネックを特定するのに役立つperfmonカウンターは何ですか?
ASP.Netのセッションを完全に置き換える
Webメソッドを非同期にしようとしています

于 2012-07-24T11:14:33.630 に答える