**我创建了一个C#dll文件,其中包含返回一些值的函数,我试图从node.js文件中调用这些函数来获取这些值。请问我该怎么做?
答案 0 :(得分:1)
我相信Edge.js - Run .NET and Node.js code in-process on Windows, macOS, and Linux是您所需要的。
通过使用Edge.js
,我们可以编写以下JavaScript代码来调用现有的C#程序。
var clrMethod = edge.func({
assemblyFile: 'My.Edge.Samples.dll',
typeName: 'Samples.FooBar.MyType',
methodName: 'MyMethod' // This must be Func<object,Task<object>>
});
或
var clrMethod = edge.func('My.Edge.Samples.dll');
或
var add7 = edge.func(require('path').join(__dirname, 'add7.csx'));
以上三个示例代码均从其GitHub主页复制/粘贴。
答案 1 :(得分:0)
如何实现本机代码nodejs插件的文档在这里:Node.js v0.12.7 Addons并且该文档中包含许多示例。
有关在C#中执行插件的更具体讨论:Using a .NET DLL in Node.js / serverside javascript和.net native extension for node.js
我可以想象,尝试连接两个垃圾收集语言会有点棘手,因为自动垃圾收集可能两种方式都不可能。