在将 DurableOrchestration 与 Azure Functions 结合使用时无法将参数 'orchestrationContext' 绑定到类型 DurableOrchestrationContext

Cannot bind parameter 'orchestrationContext' to type DurableOrchestrationContext while using DurableOrchestration with Azure Functions

我正在尝试在 Azure Functions 中使用新的 Durable Functions 扩展我在我的 Function 项目上安装了这个 Nuget 包:

Microsoft.Azure.WebJobs.Extensions.DurableTask

然后像这样在我的函数中使用 DurableOrchestrationContext:

[FunctionName("StopVM")]
public static void StopVM([TimerTrigger("0 */2 * * * *")]TimerInfo myTimer, ILogger log, ExecutionContext context, DurableOrchestrationContext orchestrationContext)
    {
    ....
    }

但是当我 运行 这个错误显示的函数时:

Error indexing method 'FuncApp.StopVM' [20/11/2018 17:09:01] Microsoft.Azure.WebJobs.Host: Error indexing method 'FuncApp.StopVM'. Microsoft.Azure.WebJobs.Host: Cannot bind parameter 'orchestrationContext' to type DurableOrchestrationContext. Make sure the parameter Type is supported by the binding. If you're using binding extensions (e.g. Azure Storage, ServiceBus, Timers, etc.) make sure you've called the registration method for the extension(s) in your startup code (e.g. builder.AddAzureStorage(), builder.AddServiceBus(), builder.AddTimers(), etc.).

我是否遗漏了一些步骤,例如将任何中间件添加到启动 class 等,导致文档没有清楚地显示如何使用它?

我明白了。如果您希望它启动 Orchestration 本身,您应该使用此属性 [OrchestrationClient] 包装类型 DurableOrchestrationClient 的参数,或者使用此属性 [OrchestrationTrigger] 包装类型 DurableOrchestrationContext 的参数以使用上下文和此处有更多详细信息 (link)