20 個のハンドラーを定義するには多すぎるのか、それともjQuery から20 個のハンドラーを呼び出すのが多すぎるのかについて質問されているかどうかわからないので、両方に対処します。
多くのハンドラーを定義するという点では、汎用 HTTP ハンドラー (ASHX) は ASP.NET ページ ハンドラー (ASPX) に似ていますが、ページの完全なライフサイクルを持たず、UI を返すことを意図していないという点でより軽量です。 . 多くの大規模なアプリケーションには、何百もの ASPX ページが定義されています。これは、すべての UI ページが個別の ASPX である ASP.NET Web フォームの設計意図と一致しています。したがって、何百もの ASHX を使用しても、何百もの ASPX よりもさらに軽く、まったく問題ありません。
20 個のハンドラーを呼び出すという観点から、ここでは「分厚い」インターフェイスと「おしゃべりな」インターフェイスについての会話に入ります。WAN を介して (つまり、ブラウザとサーバーの間で) インターフェースする場合は、「分厚い」インターフェース (少数の重い呼び出しを行うインターフェース) の方が適しています。アプリケーションをスケーリングしようとする場合は、「おしゃべりな」インターフェース (より多くの軽い呼び出し) は、サーバー上でより多くの接続を開いたままにし、多くの場合、より多くのトランザクションとより多くの同時接続を開くという点で、データベースにより多くの負荷を引き起こします。したがって、一般的にはそれほどスケーリングしません。サーバー側で。
ブラウザ側では、ニュースはさらに悪いものです。HTTP 仕様により、ブラウザは同時リクエストを 2 つまでに制限しているため、一度に 20 個のリクエストを送信しようとしても、それは発生しません。つまり、非常に多くの jquery get/post 呼び出しがキューに入れられると、パフォーマンスの問題が発生する可能性があります。一度に。
もちろん、トレードオフは、多くの場合、「おしゃべりな」インターフェースを使用してプログラミングがよりクリーンになることです。したがって、ここでは、将来のスケーリングの必要性と、よりクリーンなコードの重要性について判断する必要があります。
予想される寿命と進化のために、単一の Web サーバーと単一のデータベース サーバーですべてのトラフィックを快適に実行できるアプリケーションを構築している場合、私はそう思います。そして、ブラウザ コードは、2 つの同時リクエストがパフォーマンスの問題を引き起こさないように設定されています。よりクリーンなコードが得られる場合は、「おしゃべりな」インターフェイスを使用するのが合理的です。
ただし、単一のサーバーを超えてスケーリングする必要があると予想される場合。または、これらの jquery get/posts の多くが同時に呼び出されてパフォーマンスが低下する一般的なユース ケースがあり、その場合は必ず、より「分厚い」インターフェイスにリファクタリングします。これは、単一のハンドラーから 20 を超えるハンドラーを呼び出さないことを意味します。 jQuery経由のページ。
これを読んでもどちらが正しいか判断できない場合は、インターフェイスをリファクタリングしてより「分厚い」ものにすることをお勧めします。
これがお役に立てば幸いです。幸運を祈ります!