迁徙的ASP.. NET MVC应用到Node.js

Migrating ASP.NET MVC application to Node.js

本文关键字:Node js 应用 MVC ASP NET 迁徙      更新时间:2023-09-26

我们正在考虑迁移我们的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)
}

完美我想移动所有的网络相关的代码到Node.js(这样我们摆脱死/支持差的依赖如SignalR),但保持逻辑(查询,命令)上c#(不需要重写现有的代码,比JS更容易维护)。所以我想到的最好的解决方案(理论上,还没有尝试)是通过Edge.js从Node.js调用我们的c#命令/查询。我想这种方式有陷阱,所以我想知道你是怎么想的。

虽然我同意@Coulton &@VsevolodGoloviznin,但是我要给这个问题一个答案:)

在ASP中使用Node.js. NET MVC应用程序与iisnode,其中引入了两种技术的混合,你想要的

使用代理,有一个node-http-proxy。而IIS也许可以为你做这件事。

:

Edge.js提供了一个将Node.js与。net平台结合起来的解决方案,使从Node.js调用。net函数成为可能。

阅读hanselman的博客,那里有关于这个的好话题。Tomasz Janczuk(他正在开发Edge.js)说:

Edge.js提供了一个异步的进程内机制Node.js和. net之间的互操作性。

你可以使用这个机制:

    使用ADO从Node.js访问MS SQL。净更多…
  • 在Node.js中使用CLR多线程来处理CPU密集型工作
  • 用c#代替C/c++为Node.js编写本地扩展
  • 将现有的。net组件集成到Node.js应用程序

你可以将现有的c#代码作为restful api,并在你的nodejs应用程序中使用它。

我认为在一件事情中混合不同的东西会使它变得更加复杂,依赖于事物的混合,而不是长期可维护的,在一个地方单一多于一件事。

相反,我会把我现有的东西分离成一个简单的restful api,这样你就可以在任何地方使用它,在它的边界内交付和维护它,可扩展,面向服务,等等。