Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
Javascript InvalidCastException:Azure持久函数错误_Javascript_Visual Studio Code_Azure Durable Functions - Fatal编程技术网

Javascript InvalidCastException:Azure持久函数错误

Javascript InvalidCastException:Azure持久函数错误,javascript,visual-studio-code,azure-durable-functions,Javascript,Visual Studio Code,Azure Durable Functions,使用VSCode+JavaScript在本地测试Azure持久功能。能够成功触发HTTP触发的业务流程客户端,甚至可以看到请求头+正文—没有问题。但是,我在尝试触发Orchestrator时收到以下错误: context.bindings.patient = [{ FunctionName: "OrchestratorJS", Input: req, InstanceId: id }]; 无法将类型为“Microsoft.Azure.WebJobs.DurableOrc

使用VSCode+JavaScript在本地测试Azure持久功能。能够成功触发HTTP触发的业务流程客户端,甚至可以看到请求头+正文—没有问题。但是,我在尝试触发Orchestrator时收到以下错误:

context.bindings.patient = [{
    FunctionName: "OrchestratorJS",
    Input: req,
    InstanceId: id
}];
无法将类型为“Microsoft.Azure.WebJobs.DurableOrchestrationContext”的对象强制转换为类型为“System.String”

我不明白为什么DurableOrchestrationContext试图转换为字符串。 调用编排器的代码:

context.bindings.patient = [{
    FunctionName: "OrchestratorJS",
    Input: req,
    InstanceId: id
}];
注: -我尝试只发送一个字符串作为输入,但没有效果。
-我已经成功地为另一个项目创建了持久函数,这使得这一点更加令人沮丧。

函数运行时正试图将DurableCorchestrationContext转换为字符串,因为。与v1不同,v2通过与运行时主机不同的进程中托管的节点语言工作程序运行JavaScript函数。语言工作者和主机通过gRPC协议进行通信。调用函数时,运行时主机必须通过gRPC将绑定参数信息传递给函数。绑定到复杂对象(如DurableOrchestrationContext)的参数必须序列化为JSON字符串,通过gRPC传递,最后重新水化,以便函数使用它们

我们在1.4.0版本中引入了DurableOrchestrationContext到字符串的转换。您能尝试更新到扩展的最新版本(1.5.0)并再次尝试您的函数吗?

因为我的一个字段(226个字段中的一个字段)是空的“”字符串,所以JSON序列化不知道如何处理它。显然,PowerShell(用作客户机)并不在意,但JSON.parse肯定在意。谢谢你提供的信息。希望函数将JSON作为对象或字符串发送,而不是尝试序列化JSON(以前的经验是使用二进制文件,所以以前没有这个问题)。