我有一些第三方.net dll做了一些特定的工作。这些dll与安装在将运行node.js服务器的服务器上的应用程序一起编译和提供。这些dll作为软件的扩展提供,就像“API”。
我不是node.js的专家,但据我所知,我无法从node.js服务器脚本文件中调用.net dll。它必须是c ++代码。我知道有一个名为Edge.js的模块,我可以使用它做同样的事情。如果我错了,请纠正我。
是否可以在c ++中编写包装并调用这些.net方法?
我做了一些研究并在微软网站上发现了这篇文章:Calling A .NET Managed Method from Native Code 我没试过,但我想知道是否可以这样做?
现在我已经编写了WebAPI方法,但这使我运行了两个Web服务器。一个托管WebAPI和一个节点服务器。
答案 0 :(得分:2)
就个人而言,我认为你现在的解决方案是最好的,因为它会更稳定并且已经有效。
从本机代码调用.NET方法并非易事。请记住,这涉及将.NET运行时加载到节点进程中然后您可以将所有各种数据格式从.NET编组到本机节点/ javascript等...这似乎是edge.js所做的。因此,如果要在同一进程中运行,请使用edge.js.