title: Azure Durable Function Orchestration Trigger Doesn't Fire
body: <p>I'm upgrading an Azure Durable Function project from .NET Core 2.1 to 2.2.  I updated all NuGet packages to the latest releases that are compatible with .NET Core 2.2 (to my knowledge).  The Durable Client function (<code>StartOrchestration</code>) is configured with a timer trigger (shown below) which is working as expected.</p>
  
  <p>What isn't working is that the Orchestration Trigger function (<code>SearchOrchestration</code>) <em>is never called</em> and I have no idea why.  Did I update to an invalid NuGet package(s)?  Is there something obvious wrong that I'm just not seeing?</p>
  
  <p>For reference, I've been looking at the <a href="https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-bindings" rel="nofollow noreferrer">Bindings for Durable Functions document</a> and it would appear like my code <em>should</em> work... but it doesn't.</p>
  
  <p>The durable function orchestration:</p>
  
  <pre class="lang-cs prettyprint-override"><code>    public static class SearchIndexDurableFunctions
      {
          [FunctionName(nameof(StartOrchestration))]
          public static async Task StartOrchestration(
              [TimerTrigger("%CronExpression%")]TimerInfo myTimer,
              [DurableClient(TaskHub = "%TaskHub:Name%")]IDurableOrchestrationClient starter,
              ILogger logger)
          {
              var nextRunTime = myTimer.Schedule.GetNextOccurrence(DateTime.Now);
              logger.LogInformation($"&gt;&gt; Next run time will be: {nextRunTime.ToLocalTime()}");
  
              var instanceId = Guid.NewGuid().ToString();
  
              var result = await starter.StartNewAsync(nameof(SearchOrchestration), instanceId);
          }
  
          [FunctionName(nameof(SearchOrchestration))]
          public static async Task SearchOrchestration(
              [OrchestrationTrigger]IDurableOrchestrationContext context,
              ILogger logger)
          {
              try
              {
                  await context.CallActivityAsync(nameof(SearchPartIndexFunctionActivity), null);
  
                  await context.CallActivityAsync(nameof(SearchProductIndexFunctionActivity), null);
              }
              catch (FunctionFailedException ex)
              {
                  logger.LogError(ex, $"Search index orchestration failed.");
              }
          }
  
          [FunctionName(nameof(SearchPartIndexFunctionActivity))]
          public static async Task SearchPartIndexFunctionActivity(
              [ActivityTrigger]string input,
              ExecutionContext context,
              ILogger logger)
          {
              logger.LogInformation("Started SearchPartIndexFunctionActivity...");
  
              var busLogic = new SearchPartIndexFunctionBase(context, logger);
              await busLogic.UpdateIndexAndData();
  
              logger.LogInformation("Finished SearchPartIndexFunctionActivity successfully.");
          }
  
          [FunctionName(nameof(SearchProductIndexFunctionActivity))]
          public static async Task SearchProductIndexFunctionActivity(
              [ActivityTrigger]string input,
              ExecutionContext context,
              ILogger logger)
          {
              logger.LogInformation("Started SearchProductIndexFunctionActivity...");
  
              var busLogic = new SearchProductIndexFunctionBase(context, logger);
              await busLogic.UpdateIndexAndData();
  
              logger.LogInformation("Finished SearchProductIndexFunctionActivity successfully.");
          }
      }
  </code></pre>
  
  <p>The .csproj file showing NuGet package versions:</p>
  
  <pre><code>&lt;Project Sdk="Microsoft.NET.Sdk"&gt;
    &lt;PropertyGroup&gt;
      &lt;TargetFramework&gt;netcoreapp2.2&lt;/TargetFramework&gt;
      &lt;AzureFunctionsVersion&gt;v2&lt;/AzureFunctionsVersion&gt;
      &lt;AssemblyName&gt;[Company Name].Interface.Search&lt;/AssemblyName&gt;
      &lt;RootNamespace&gt;[Company Name].Interface.Search&lt;/RootNamespace&gt;
      &lt;LangVersion&gt;7.2&lt;/LangVersion&gt;
    &lt;/PropertyGroup&gt;
    &lt;ItemGroup&gt;
      &lt;PackageReference Include="AutoMapper" Version="9.0.0" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.DocumentDB.Core" Version="2.9.2" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.Management.Fluent" Version="1.29.0" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.Management.TrafficManager.Fluent" Version="1.29.0" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.Search" Version="10.1.0" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="3.0.5" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.WebJobs.Extensions.DurableTask" Version="2.0.0" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="3.0.2" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.WebJobs.Host.Storage" Version="3.0.14" /&gt;
      &lt;PackageReference Include="Microsoft.Azure.WebJobs.Script.ExtensionsMetadataGenerator" Version="1.1.3" /&gt;
      &lt;PackageReference Include="Microsoft.Extensions.Configuration.AzureKeyVault" Version="3.1.0" /&gt;
      &lt;PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="2.2.4" /&gt;
      &lt;PackageReference Include="Microsoft.NET.Sdk.Functions" Version="3.0.2" /&gt;
      &lt;PackageReference Include="[Company Name].Core.Repositories" Version="1.0.20191218.1" /&gt;
    &lt;/ItemGroup&gt;
    &lt;ItemGroup&gt;
      &lt;None Update="host.json"&gt;
        &lt;CopyToOutputDirectory&gt;PreserveNewest&lt;/CopyToOutputDirectory&gt;
      &lt;/None&gt;
      &lt;None Update="local.settings.json"&gt;
        &lt;CopyToOutputDirectory&gt;PreserveNewest&lt;/CopyToOutputDirectory&gt;
        &lt;CopyToPublishDirectory&gt;Never&lt;/CopyToPublishDirectory&gt;
      &lt;/None&gt;
    &lt;/ItemGroup&gt;
  &lt;/Project&gt;
  </code></pre>