2016-09-22 4 views
1

私はしばらくの間、Node.jsを使用してきました。私はそれが内部的に(eventloopやその他のもの)どのように動作するのかよく知っていますが、ASP.NETコアはNode.jsと似ています。ASP.NETコアとNode.jsの類似点

ASP.NET Core - Uses Kestrel (basically a fork of libuv) 
Node.js - Uses libuv 

ASP.NET Core - Tasks (though present in previous ASP.NET versions too) 
Node.js - Promises 

ASP.NET Core - Async/Await (though present in previous ASP.NET versions too) 
Node.js - Async/Await 

そこで、以下の結論正しい:

Node.jsの背景非同期動作のためのJavaScriptコード(SYNC)と、多くのワーカースレッドを実行するための単一のスレッドを有しています。

ASP.NETコアは、.NETコード(同期)とバックグラウンド非同期操作のための多くのワーカースレッドを実行するために複数のスレッドを使用します。

Node.jsは、イベントループをブロックしないようにI/Oを強制しますが、ASP.NETユーザーはI/Oを同期させてスレッドをブロックすることもできますが、複数のスレッドブロックされません。

答えて

0

Node JSについての深い情報はありませんが、kestrelとlibuvの比較の最初の部分に基づいて、ASP.NETコアはサーバーに依存しないと言います。 (私は、IIS、ApacheなどのフロントWebサーバーについては言及していません...)。 ASP.NETコアにはIServerという名前のインターフェイスがあり、その実装はasp.netコアアプリケーションサーバーにすることができます.Kesterlは選択肢の1つです.Wyin Listenerなど、Owin互換サーバーまたは他のサーバーを使用できます。 。 ASP.NETコアはパイプラインに依存しません(私はミドルウェアについては言及していません)。たとえば、Owinパイプライン、asp.netコアのデフォルトパイプラインを使用して、独自のパイプラインを開発することができます。

関連する問題