Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.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
Asp.net 节点中使用的基于事件的模型是否与C#应用程序中使用的基于事件的模型相同?_Asp.net_Node.js_Events_Event Driven Design - Fatal编程技术网

Asp.net 节点中使用的基于事件的模型是否与C#应用程序中使用的基于事件的模型相同?

Asp.net 节点中使用的基于事件的模型是否与C#应用程序中使用的基于事件的模型相同?,asp.net,node.js,events,event-driven-design,Asp.net,Node.js,Events,Event Driven Design,我听说过node.js和基于事件的编程,以及类似node事件循环的东西。在大学里,我记得我做了一个ASP.NETWeb应用程序。这位教授说,ASP.net使用基于事件的体系结构,其中服务器端的回调函数由客户端的不同事件触发 这两种不同的技术是否使用事件和事件驱动编程的概念?是的,node使用基于事件的体系结构,其中服务器端的回调函数由客户端的不同事件触发 为什么Node.js是个大问题 1) 在客户端和服务器上使用相同的语言可以加快开发速度 2) 每个web开发人员都知道JavaScript。在

我听说过node.js和基于事件的编程,以及类似node事件循环的东西。在大学里,我记得我做了一个ASP.NETWeb应用程序。这位教授说,ASP.net使用基于事件的体系结构,其中服务器端的回调函数由客户端的不同事件触发


这两种不同的技术是否使用事件和事件驱动编程的概念?

是的,node使用基于事件的体系结构,其中服务器端的回调函数由客户端的不同事件触发

为什么Node.js是个大问题

1) 在客户端和服务器上使用相同的语言可以加快开发速度

2) 每个web开发人员都知道JavaScript。在服务器上使用它的过渡路径具有较低的学习曲线

3) 为Node.js构建的模块都是事件驱动的。在其他平台上编写事件驱动代码通常需要筛选第三方模块,以找到事件驱动的模块。例如,Python有几个事件驱动库,但由于Python的传统,大多数第三方网络库都是同步的。Ruby、Java、Scala和许多其他平台也是如此


4) 速度。Node.js在V8 javascript引擎上运行。它可能没有Java或C#那么快,但比Python、Ruby和PHP早了几光年。Python、Ruby和PHP占据了web应用程序市场份额的很大一部分。当以这些语言为主要经验的开发人员需要更快的速度时,Node.js是一个合理的选择。

他们的相似之处在于,他们都使用事件的概念——调用代码的东西,而不是你出去寻找更改。但实际上它们是完全不同的

在node(和asp.net MVC)中,来自客户端的事件是“此URL已请求”。就这样。除了请求的内容之外,没有更多的粒度

在ASP.NET Webforms中,它们非常努力地根据客户端页面上发生的情况合成事件。您得到的事件是“文本更改”、“单击按钮”、“选中复选框”。。。基本上和你在普通桌面应用程序中得到的一样

事实证明,Webforms模型变得非常非常复杂,非常快,而抽象层阻碍了ajax调用之类的工作

node所做的另一件事是,与ASP.NET不同,几乎所有内容都是异步事件。数据库呼叫?在节点中异步,在ASP.NET中同步。读文件?在节点中异步,在ASP.NET中同步。HTTP请求到另一个服务器?你明白了

ASP.NET可以异步完成这些工作,但您必须不遗余力地完成,而且它使用线程。在node中,异步的东西是非常自然的,它不需要使用线程,在某些情况下(有些令人惊讶)会产生更高的吞吐量


是的,它们在某种意义上是相同的,即它们都是“事件”,但细节却大不相同。

那有什么大不了的?如果它是与ASP相同的架构已经存在多年了,为什么你会听到人们如此多地谈论它?只是因为它是新的吗?