Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NET核心&;Node.js相似性_Javascript_C#_Asp.net_Node.js_Multithreading - Fatal编程技术网

Javascript NET核心&;Node.js相似性

Javascript NET核心&;Node.js相似性,javascript,c#,asp.net,node.js,multithreading,Javascript,C#,Asp.net,Node.js,Multithreading,我已经使用Node.js一段时间了。我在很大程度上了解它的内部工作原理(eventloop和其他东西),但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

我已经使用Node.js一段时间了。我在很大程度上了解它的内部工作原理(eventloop和其他东西),但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代码(同步)的线程,还有许多用于后台异步操作的工作线程

ASP.NET核心使用多个线程执行.NET代码(同步),使用多个工作线程执行后台异步操作


Node.js强制I/O是异步的,这样你就不会阻塞事件循环,但在ASP.NET中,用户也可以执行同步I/O,因此会阻塞线程,但由于它使用多个线程,所以整个应用程序不会被阻塞。

我没有关于Node js的详细信息,但根据你关于kestrel和libuv的第一部分比较,我应该说ASP.NET核心是独立于服务器的。(我不是说前端web服务器,如IIS、Apache等)。ASP.NET Core中有一个名为IServer的接口,它的任何实现都可以是ASP.NET Core应用程序服务器,Kesterl是您的选择之一,您可以使用任何与Owin兼容的服务器或任何其他服务器,如nowin和web listener。
ASP.NET core是独立于管道的(我不是说中间件),例如,您可以使用Owin管道、ASP.NET core默认管道,也可以开发自己的管道。

我没有关于Node JS的详细信息,但根据您对kestrel和libuv的第一部分比较,我应该说ASP.NET核心是独立于服务器的。(我不是说前端web服务器,如IIS、Apache等)。ASP.NET Core中有一个名为IServer的接口,它的任何实现都可以是ASP.NET Core应用程序服务器,Kesterl是您的选择之一,您可以使用任何与Owin兼容的服务器或任何其他服务器,如nowin和web listener。 ASP.NET核心是独立于管道的(我不是说中间件),例如,您可以使用Owin管道、ASP.NET核心默认管道,也可以开发自己的管道