6

ASP.NET 開発サーバーが要求を同時に処理していない理由を見つけようとしています。

そこで、次のコードを使用して簡単な aspx ページを作成しました。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

System.Threading.Thread.Sleep(10000)

End Sub

ページを 2 回開くと、応答に 20 秒かかります。つまり、サーバーは要求を 1 つずつ (同時にではなく) 実行します。

このトピックで提供されているアドバイスに従って、ページに追加EnableSessionState="false"しましたが、役に立たないようです。

リクエストを同時に処理する方法はありますか?

4

3 に答える 3

7

asp.net 開発サーバー (cassini) は複数のスレッドを処理できません。そのため、一度に 1 つずつリクエストを効果的に処理します。セッションをオフにしても、これには影響しません。

これは、Web アプリの限られた単一ユーザー テストのためだけのものです。

cassini をダンプして IIS Express をインストールするか、完全な IIS 実装に進むことをお勧めします。

少し読む: ASP.NET Dev Server (Cassini)、IIS Express、および複数のスレッド

于 2012-01-27T16:08:01.863 に答える
0

SessionState を無効にせずに ASP.NET MVC を使用している場合 (デフォルトではそうなります)、リクエストは自動的にシリアル化されます。そのため、ランダムなThread.Sleep()値で競合状態をチェックしている場合、リクエスト A の前にリクエスト B が完了することはありません。寝ている時間が少ない場合。

ASP.NET MVC と Ajax、同時要求?

于 2013-02-18T09:31:10.050 に答える
0

XP 上の IIS では、それほど多くの同時接続が許可されていません (10 だと思います)。その環境で開発している場合は、それが原因である可能性があります (これら 2 つの要求に加えて、参照ファイルに対する要求が発生し、その特定のページに対する要求よりも多くの要求を発行している可能性があります)。 .

VSビルトインサーバーに同様の制限があるかどうかはわかりません。

于 2012-01-27T16:08:12.270 に答える