0

我有一些第三方 .net dll 可以做一些特定的工作。这些 dll 与安装在运行 node.js 服务器的服务器上的应用程序一起编译和交付。这些 dll 作为软件的扩展提供,类似于“API”。

我不是 node.js 方面的专家,但据我了解,我无法从 node.js 服务器脚本文件中调用 .net dll。它必须是 C++ 代码。我知道有一个名为 Edge.js 的模块,我可以使用它来做同样的事情。如果我错了,请纠正我。

是否可以在 C++ 中编写一个包装器并调用这些 .net 方法?

我做了一些研究并在 Microsoft 网站上找到了这篇文章:Calling A .NET Managed Method from Native Code 我没有尝试过,但我想知道是否可以这样做?

现在我已经编写了 WebAPI 方法,但这让我运行了两个 Web 服务器。一台托管 WebAPI 和一台节点服务器。

4

1 回答 1

2

就个人而言,我认为您当前的解决方案是最好的,因为它会更加稳定并且已经有效。

从本机代码调用 .NET 方法并非易事。请记住,这涉及将 .NET 运行时加载到节点进程中,然后您就可以将所有各种数据格式从 .NET 编组到本机节点/javascript 等......这似乎是 edge.js 所做的。因此,如果您要在同一个进程中运行,请使用 edge.js。

于 2013-07-14T10:44:10.620 回答