Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在Azure Functions 2.0中同时使用dotnet和node吗?_C#_Node.js_Azure_Azure Functions_Azure Durable Functions - Fatal编程技术网

C# 我可以在Azure Functions 2.0中同时使用dotnet和node吗?

C# 我可以在Azure Functions 2.0中同时使用dotnet和node吗?,c#,node.js,azure,azure-functions,azure-durable-functions,C#,Node.js,Azure,Azure Functions,Azure Durable Functions,由于持久功能JS API目前受到限制,我想知道我能否使用C#脚本编写编排代码,并使用Azure Functions 2.0中的节点编写活动功能?更新 新版本已经发布,函数应用程序现在需要单一语言。因此,这种方法不再有效 您可能正在谈论这一点,因为在JS中,有些C#API尚未实现,有些将不会实现 我们可以在C#编排函数中调用JS活动。只需使用一个简单的活动进行测试即可返回字符串,按预期工作 对于本地开发,FUNCTIONS\u WORKER\u RUNTIME(在local.settings.j

由于持久功能JS API目前受到限制,我想知道我能否使用C#脚本编写编排代码,并使用Azure Functions 2.0中的节点编写活动功能?

更新

新版本已经发布,函数应用程序现在需要单一语言。因此,这种方法不再有效


您可能正在谈论这一点,因为在JS中,有些C#API尚未实现,有些将不会实现

我们可以在C#编排函数中调用JS活动。只需使用一个简单的活动进行测试即可返回字符串,按预期工作

对于本地开发,
FUNCTIONS\u WORKER\u RUNTIME
(在local.settings.json中)指定我们的函数app language WORKER,函数主机只能识别与此运行时对应的函数。例如,在dotnet运行时中,js函数被忽略

  • 删除
    FUNCTIONS\u WORKER\u RUNTIME
    ,主机可以使用不同的语言

  • 将一个以活动函数命名的文件夹添加到函数应用程序文件夹中,其中包含function.json和index.js。请参见下图(在VSCode中,类似于)

  • 将CopyToOutputDirectory操作添加到functionappname.csproj

    <ItemGroup>
    ...
        <None Update="MyJsActivity\index.js">
          <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </None>
        <None Update="MyJsActivity\function.json">
        <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
        </None>
    </ItemGroup>
    
    
    ...
    保存最新
    保存最新
    
  • 如果需要,请随意安装节点模块,记住为package.json添加CopyToOutputDirectory操作,以便我们可以在部署期间使用它安装模块


  • 除此之外,在门户上目前还并没有类似的设置,主机默认提供不同的语言工作程序。部署后,一切都应该正常。

    我们即将发布一个v2函数版本,该版本取消了在单个函数应用程序中运行多种语言的功能。今后,函数应用程序中的所有函数都必须使用相同的语言编写。(请注意,v1功能应用程序将不受此影响。)


    我们的目标是在今年晚些时候宣布持久功能JS的普遍可用性,这将包括API的其余部分。我们目前建议的解决方法与您的情况类似,您可以通过HTTP公开一些JavaScript API,并让C#活动函数从包含C#orchestrator的函数应用程序中调用它们。

    感谢您的响应。你能提供一些关于持久功能JS API GA的精确时间表吗?计划是在今年秋天将JS功能GA与功能v2的GA一起推出。现在我再具体不过了。