Node.js与.Net库

时间:2015-07-22 18:06:43

标签: .net node.js architecture

我不确定此问题是否已被提出或是否在正确的堆栈站点中。 - 如果不是,请告诉我,我很乐意将其删除。

我是.Net-stack开发人员;更具体地说,Web。我也喜欢.Net提供的许多工具和框架。

我还使用JavaScript和各种框架(如Angular)开发了很多东西。特别是在过去的几年里。

随着我开发更多JS,我发现自己对Node.js及其优势感兴趣。我承认,除了一些典型的hello world示例之外,我对Node.js了解不多。

现在,我宁愿不必学习一大堆其他框架来替换我在.Net中使用的一些框架 - 例如Entity Framework。

所以这让我想知道 - 是否有任何东西可以弥补Node和.Net之间的差距。

也许我的思维过程不能正常工作,不过我希望实现的目标是:

  • 前端有类似Angular
  • 的东西
  • 调用Node.js Rest API
  • 节点然后联系到使用.Net
  • 构建的业务层

我认为,我会/可以获得Node.js提供的速度和扩展能力,但是我将继续使用.Net来获取Rest服务和数据库之间的所有内容。

这是存在的,甚至是可能的吗?

2 个答案:

答案 0 :(得分:2)

是的,这完全有可能。

将node.js应用程序视为自己的http服务器,就像您的.net服务器一样。它们可以共存于运行在不同端口上的同一物理(或虚拟)服务器上。然后,您可以使用IIS(或apache,nginx等)反向代理设置将它们置于同一域和端口下。通过这种设置,两者之间进行通信所需要的只是一个简单的http调用,而你的前端看起来就像是在一个系统下运行,即使实际上它们是两个独立的应用程序。

答案 1 :(得分:2)

在过去几年中,有一种名为Microservices的新软件架构趋势。

基本上,微服务背后的想法是在单一应用程序上拥有多个小型专用应用程序。

您所描述的正是这一点,将您的Web应用程序(可能用Node编写)与用.Net编写的所有业务逻辑(可以是一个或多个应用程序)分离

除了为您提供为特定任务选择最佳语言/技术的灵活性之外,您还可以轻松有效地扩展应用程序。

您可以阅读更多相关信息in this post

编辑:同样如Kevin B所述,您可以使用http调用在这些应用程序之间进行通信。另外,您还可以使用pub / sub或队列进行微服务之间的通信