質問

After reading a lot of stuff about nodejs, I still ask my self :

What are the benefits over asp.net HttpAsync requests ?

The only limitation ( as I see) is the concurrent number of requests which IIS limits.

I tried to paint how I currently understand it :

enter image description here

any help ?

  • is there anything that asynchronous operations on .net/ado.net can't do that nodejs can ?
役に立ちましたか?

解決

IIS limits the number of concurrent requests to a high number by default. The limit can be raised arbitrarily though.

There are two main benefits attributed to node.js:

  1. Scalability (not performance! there is a difference) due to async IO
  2. Sharing Javascript with the client

ASP.NET does not support number 2 so that is an advantage.

Async IO and non-blocking code is fully supported by ASP.NET. Plus, you get the performance advantage of a JITed statically typed language. For that reason ASP.NET generally has superior performance to node.js for non-toy applications (printing "hello world" is not a real benchmark workload! neither is sleeping for 10 seconds).

node.js benefits from the extremely slim code-path it has. For that reason very minimal applications like "echo" or "hello world" are probably faster. This does not hold for apps which actually perform work.

So if you want to know which is "better" you need to consider a particular scenario. Benchmark with a realistic workload (no, calculating a factorial number is not realistic. C# is just going to win by a large amount. Means nothing). Also factor in maturity of the platform, libraries, documentation, support, developer productivity, ....

他のヒント

The main difference between node.js and ASP.NET is the library eco system. Most node.js libraries provide an asynchronous way. ASP.NET methods don't, only a few of them do. And if there is something synchronous along the way, the point of being asynchronous is lost.

That's the problem most platforms have compared to node.js.

Otherwise, just using this AsyncHttp method, there is no difference between ASP.NET and node.js.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top