From ed6eb3dc4d1c900d6b109d82264a5057e6d4692e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 22:16:35 +0000 Subject: [PATCH 1/2] Initial plan From 36959b8c27f1cafdde03573f5e28201ded5b4ec6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 5 Jan 2026 22:22:42 +0000 Subject: [PATCH 2/2] Improve error message for manual orchestrator and entity function invocation Co-authored-by: YunchuWang <12449837+YunchuWang@users.noreply.github.com> --- .../Bindings/EntityTriggerAttributeBindingProvider.cs | 4 +++- .../Bindings/OrchestrationTriggerAttributeBindingProvider.cs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/WebJobs.Extensions.DurableTask/Bindings/EntityTriggerAttributeBindingProvider.cs b/src/WebJobs.Extensions.DurableTask/Bindings/EntityTriggerAttributeBindingProvider.cs index 91e6d6a64..3f738a03a 100644 --- a/src/WebJobs.Extensions.DurableTask/Bindings/EntityTriggerAttributeBindingProvider.cs +++ b/src/WebJobs.Extensions.DurableTask/Bindings/EntityTriggerAttributeBindingProvider.cs @@ -141,7 +141,9 @@ public Task BindAsync(object value, ValueBindingContext context) } else { - throw new ArgumentException($"Don't know how to bind to {value?.GetType().Name ?? "null"}.", nameof(value)); + throw new InvalidOperationException( + "Durable entity functions do not support direct invocation. " + + "To interact with an entity, use an HTTP trigger function or the DurableClient binding to call entity methods."); } } diff --git a/src/WebJobs.Extensions.DurableTask/Bindings/OrchestrationTriggerAttributeBindingProvider.cs b/src/WebJobs.Extensions.DurableTask/Bindings/OrchestrationTriggerAttributeBindingProvider.cs index f72bce0bf..9e0cd0991 100644 --- a/src/WebJobs.Extensions.DurableTask/Bindings/OrchestrationTriggerAttributeBindingProvider.cs +++ b/src/WebJobs.Extensions.DurableTask/Bindings/OrchestrationTriggerAttributeBindingProvider.cs @@ -191,7 +191,9 @@ public Task BindAsync(object? value, ValueBindingContext context) } else { - throw new ArgumentException($"Don't know how to bind to {value?.GetType().Name ?? "null"}.", nameof(value)); + throw new InvalidOperationException( + "Durable orchestrator functions do not support direct invocation. " + + "To start an orchestration, use an HTTP trigger function or the DurableClient binding to call 'StartNewAsync'."); } }