如何从node.js文件中调用C#dll文件中的函数

时间:2015-07-27 00:50:20

标签: c# node.js function dll wrapper

**我创建了一个C#dll文件,其中包含返回一些值的函数,我试图从node.js文件中调用这些函数来获取这些值。请问我该怎么做?

2 个答案:

答案 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

我可以想象,尝试连接两个垃圾收集语言会有点棘手,因为自动垃圾收集可能两种方式都不可能。