我一直在使用Node.js。我知道它在内部如何工作(eventloop和其他东西),但 ASP.NET Core 看起来与Node.js非常相似。
<script>
$(document).ready(function () {
$(window).keydown(function(event){
if(event.keyCode == 13) {
e.preventDefault(); // Disable the " Entry " key
return false;
}
});
});
</script>
所以,以下结论是否正确:
Node.js只有一个用于执行javascript代码(同步)的线程和许多用于后台异步操作的工作线程。
ASP.NET Core使用多个线程来执行.NET代码(sync)和许多工作线程来执行后台异步操作。
Node.js强制I / O是异步的,所以你不要阻止事件循环但是在ASP.NET用户也可以同步I / O因此阻塞线程,但由于它使用多个线程整个应用程序没有不被阻止。
答案 0 :(得分:0)
我没有关于Node JS的深入信息,但根据你对kestrel和libuv的第一部分比较,我应该说ASP.NET核心与服务器无关。 (我不是在谈论前端Web服务器,如IIS,Apache,......)。 ASP.NET Core中有一个名为IServer的接口,其任何实现都可以是asp.net核心应用服务器,Kesterl是您的选择之一,您可以使用任何Owin兼容服务器或任何其他服务器,如nowin&amp;网络听众。 ASP.NET核心是管道独立的(我不是在谈论中间件),例如你可以使用Owin管道,asp.net核心默认管道,你也可以开发自己的管道。