Javascript NET核心&;Node.js相似性
我已经使用Node.js一段时间了。我在很大程度上了解它的内部工作原理(eventloop和其他东西),但ASP.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
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核心默认管道,也可以开发自己的管道