【问题标题】:Is it possible to call a C# function from Node.JS/Javascript是否可以从 Node.JS/Javascript 调用 C# 函数
【发布时间】:2019-03-24 15:33:02
【问题描述】:

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

是否有可能以任何方式结合它让 csharpfunction 使用它的方式来计算双精度数、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;
}

【问题讨论】:

    标签: javascript c# node.js


    【解决方案1】:

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

    node.js 有一个addon system,但它适用于 C/C++,因此您可能必须将您的 C# 代码包装在 C/C++ 包装器中才能直接使用它,而且您可能仍然需要放置你的 C# 代码在它自己的进程中,以便允许它的垃圾收集器有一个地方运行和做它的事情。我的感觉是,在这种情况下,一个简单的服务器在它自己的进程中可能比使用插件系统更容易。

    【讨论】:

    • 我明白了,所以我应该以某种方式使用自己的进程并在那里传递计算。这听起来是一种很好且干净的方法。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多