将ASP.NET MVC应用程序迁移到Node.js

Sib*_*Guy -1 javascript asp.net-mvc node.js signalr edge.js

我们正在考虑将ASP.NET MVC应用程序迁移到Node.js. 这是我目前对迁移过程的理解.

我们的典型行为如下:

public ActionResult Something(...)
{
   //1. execute query (for GET) or command (for POST)

   //2. SignalR notification in case POST request

   //3. Return query result (for GET) or void (for POST)
}
Run Code Online (Sandbox Code Playgroud)

完全我想将所有与Web相关的代码移动到Node.js(以便我们摆脱死亡/支持不良的依赖关系,如SignalR),但保留C#上的逻辑(查询,命令)(无需重写现有代码) ,比JS更容易维护.所以我遇到的最佳解决方案(理论上还没有尝试过)是通过Edge.js从Node.js调用我们的C#命令/查询.我想这方面存在陷阱,所以我想知道你对它的看法.

Ami*_*rzi 5

虽然我同意@Coulton和@VsevolodGoloviznin,但我会回答这个问题:)

查看使用iisnode的ASP.NET MVC应用程序中的Using Node.js,其中介绍了两种技术的混合.

要使用代理,有一个node-http-proxy.IIS也许可以为你做到这一点.

更新:

Edge.js提供了一种解决方案,可以将Node.js与.NET平台相结合,从而可以从Node.js调用.NET函数.

阅读hanselman的博客,其中包含有关此主题的好主题.Tomasz Janczuk(他正在研究Edge.js)曾说过:

Edge.js为Node.js和.NET之间的互操作性提供了异步的进程内机制.

您可以使用此机制:

  • 使用ADO.NET从Node.js访问MS SQL更多...
  • 使用来自Node.js的CLR多线程来进行CPU密集型工作......
  • 在C#中编写Node.js的原生扩展而不是C/C++
  • 将现有的.NET组件插入Node.js应用程序