[Function(FunctionNames.BuildingsStart)]
public async Task HttpRun(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
[DurableClient] DurableTaskClient starter)
{
Check required here to Return if function BuildingsOrchestration is already running.
How is BuildingsOrchestration started if check confirms it is not running?
await starter.StartNewAsync<string>(FunctionNames.BuildingsOrchestration, null);
}
Удалили веб-задания
Это будет в процессе, дата наступила несколько лет назад. Провожу рефакторинг для «изолированного работника»





Чтобы проверить статус изолированной устойчивой функции .NET 8, вам необходимо использовать DurableTaskClient.GetInstancesAsync(instanceName, true);, как указано в выпуске GitHub.
Функция.cs:
[Function("Function1_HttpStart")]
public static async Task<HttpResponseData> HttpStart(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequestData req,
[DurableClient] DurableTaskClient client,
FunctionContext executionContext)
{
ILogger logger = executionContext.GetLogger("Function1_HttpStart");
// Function input comes from the request content.
string instanceId = await client.ScheduleNewOrchestrationInstanceAsync(
nameof(Function1));
var result= client.GetInstancesAsync(instanceId, true);
logger.LogInformation("Started orchestration with ID = '{instanceId}'.", instanceId);
logger.LogInformation(result.ToString());
return client.CreateCheckStatusResponse(req, instanceId);
}
Программа.cs:
var host = new HostBuilder()
.ConfigureFunctionsWebApplication()
.ConfigureServices(services =>
{
services.Configure<KestrelServerOptions>(options =>
{
options.AllowSynchronousIO = true;
});
services.AddApplicationInsightsTelemetryWorkerService();
services.ConfigureFunctionsApplicationInsights();
})
.Build();
host.Run();
Ответ:


Использованная литература:
Также обратитесь к SO решению от @SiddheshDesai.
Несколько лет назад это работало. Я не уверен, поможет ли это. stackoverflow.com/questions/46675944/…