Следующий код вводит метод GetIds
и никогда не возвращается.
public static class ANameOrchestrator
{
[FunctionName(CommonNames.AName)]
public static async Task Run([OrchestrationTrigger] IDurableOrchestrationContext context)
{
var entityId = new EntityId(nameof(Documents), CommonNames.DocFlowFifo);
var px = context.CreateEntityProxy<IDocuments>(entityId);
IEnumerable<int> list = await px.GetIds();//never return or throw
}
}
Я попытался обернуть вызов метода LockAsync
, и в этом случае выполнение зашло в тупик при вызове.
public static class ANameInOrchestrator
{
[FunctionName(CommonNames.AName)]
public static async Task Run([OrchestrationTrigger] IDurableOrchestrationContext context)
{
IEnumerable<int> list;
var entityId = new EntityId(nameof(Documents), CommonNames.DocFlowFifo);
using (var lk = await context.LockAsync(entityId)) //never goes beyond the call to LockAync
{
var x = context.CreateEntityProxy<IDocuments>(entityId);
list = await x.GetIds();
}
}
}
Как решить проблему? В каком направлении я должен смотреть? Редактировать использование альтернативной версии для вызова операции с сущностью тоже не работает
list = await context.CallEntityAsync<IEnumerable<int>>(entityId, nameof(Documents.GetIds));