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:
- Scalability (not performance! there is a difference) due to async IO
- 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, ....