是否可以从Node.JS / Javascipt调用C#函数

时间:2019-03-24 15:33:03

标签: javascript c# node.js

我想知道是否可以从javascript调用C#函数,例如我在下面尝试作为示例吗? (我使用Node.js)

是否有可能将其组合在一起以使csharp函数使用其方式来计算double,Int32等csharp类型进行计算?

var a = 4;
var b = 3;
var array = ["1", "2"];

//Is it possible to call the "csharpfunction" from javascript?


double csharpfunction(double a, double b, string[] array)
{
    a = a * b;
    return a;
}

1 个答案:

答案 0 :(得分:2)

由于C#具有其自己的垃圾收集系统,因此需要运行其自己的基础结构,并且其数据格式完全不同且自定义,因此将函数包装在一个超级简单的服务器中,然后将其与您的程序分开运行,可能是最简单的node.js应用,然后将请求发送到该服务器(可能通过预定端口上的localhost)以执行您要执行的操作。您可以决定要使用哪种类型的服务器和数据交换格式,但是HTTP和JSON只要不引起效率问题,就可以轻松实现。为了使数据在语言之间传递,必须以某种标准格式将其放入。

node.js有一个addon system,但它适用于C / C ++,因此您可能必须将C#代码包装在C / C ++包装器中才能直接使用它,并且您可能仍然拥有将您的C#代码放入自己的进程中,以使其垃圾收集器有运行的地方并可以执行其工作。我的感觉是,在这种情况下,一个简单的服务器可能比使用附加系统更容易。