15

nodejsについて多くのことを読んだ後、私はまだ自分自身に尋ねます:

asp.net HttpAsync要求に勝る利点は何ですか?

(私が見るように)唯一の制限は、IIS制限するリクエストの同時数です。

私は現在それをどのように理解しているかを描いてみました:

ここに画像の説明を入力してください

何か助けはありますか?

  • nodejsでできる非同期操作で.net/ado.net できないことはありますか?
4

2 に答える 2

13

IIS は、既定で同時要求の数を多くに制限します。ただし、制限は任意に引き上げることができます。

node.js には、次の 2 つの主な利点があります。

  1. 非同期 IO によるスケーラビリティ (パフォーマンスではありません! 違いがあります)
  2. Javascript をクライアントと共有する

ASP.NET は番号 2 をサポートしていないため、これが利点です。

Async IO とノンブロッキング コードは、ASP.NET で完全にサポートされています。さらに、JITed 静的型付け言語のパフォーマンス上の利点も得られます。そのため、ASP.NET は一般に、おもちゃではないアプリケーションの node.js よりも優れたパフォーマンスを発揮します (「hello world」の出力は実際のベンチマーク ワークロードではありません! どちらも 10 秒間スリープしません)。

node.js は、非常にスリムなコード パスの恩恵を受けます。そのため、「echo」や「hello world」などの最小限のアプリケーションの方がおそらく高速です。これは、実際に作業を行うアプリには当てはまりません。

したがって、どちらが「より良い」かを知りたい場合は、特定のシナリオを検討する必要があります。現実的なワークロードでのベンチマーク (いいえ、階乗数の計算は現実的ではありません。C# が大幅に勝つだけです。意味はありません)。また、プラットフォーム、ライブラリ、ドキュメント、サポート、開発者の生産性などの成熟度も考慮する必要があります。

于 2012-09-11T20:33:36.310 に答える
5

node.js と ASP.NET の主な違いは、ライブラリ エコ システムです。ほとんどの node.js ライブラリは、非同期の方法を提供します。ASP.NET メソッドはそうではありません。一部のメソッドだけがそうです。そして、途中で同期的なものがあれば、非同期であるというポイントは失われます。

これは、ほとんどのプラットフォームが node.js と比較して抱えている問題です。

それ以外の場合は、この AsyncHttp メソッドを使用するだけで、ASP.NET と node.js に違いはありません。

于 2012-09-12T06:51:22.907 に答える