2

現在、これに関するいくつかの問題をデバッグしています。

ASP.NET Web アプリケーションがあり、Cassini でデバッグしています。IE を使用してサーバーにリクエストを送信しようとすると、処理とレスポンスの送信に時間がかかります (たとえば、約 20 分)。

マルチタブ IE の場合、別のタブの要求をほぼ同時に同じサーバーに送信しようとしましたが、応答の 1 つが送信された後にのみ応答が処理されます。

IE の新しいインスタンスが開始され、これらの異なるインスタンスで要求が送信された場合、サーバーは応答をほぼ同時に処理して送信できます。いくつかの調査を行った後、IIS Express で問題が解決する可能性があることがわかりましたが、解決できません。誰かが同様の問題を経験したことがありますか、それとも最初に確認すべき本当に重要なことを見逃していませんか?

ご協力ありがとうございました。

4

3 に答える 3

2

これは主に、ASP.net のセッション状態変数と、(SessionID Cookie によって決定される) 特定のセッションに R/W アクセスできるリクエストは一度に 1 つだけであるという事実によるものです。

任意の形式のセッション アクセスを必要とする追加の要求 (読み取り/書き込みがデフォルトであるため) は、前の要求が完了するまでブロックされます。

以下のリンクに基づいています。

于 2016-04-20T19:19:18.677 に答える
0

セッションがすべてのリクエストをロックし、実行するために一度に1つだけを残すという点を見逃していると思います。

それとその理由について読む: ASP.Netのセッションを完全に置き換える

また:同じセッションを共有しているときに別のWebアプリを処理しているときにWebアプリがブロックされました

于 2012-06-06T11:13:36.567 に答える
0

その理由は、ASP.NET のセッションがスレッド セーフではないためです。したがって、ASP.NET は、同じセッションからの要求へのアクセスをシリアル化します。

マルチタブ IE を使用している場合、タブは 1 つのセッションを共有します。最初のリクエストはすぐに実行され、他のリクエストはキューに入れられます。異なるインスタンスがある場合、それぞれが新しいセッションを作成するため、リクエストは並行して実行されます。

于 2012-06-06T11:21:26.523 に答える