В моем program.cs я объявляю резервную политику следующим образом:
Код: Выделить всё
builder.Services.AddResiliencePipeline("my-sql-pipeline",
pipelineBuilder =>
{
/*pipelineBuilder
.AddRetry(retryDefault)
.AddCircuitBreaker(cbDefaults);*/
pipelineBuilder.AddFallback(new Polly.Fallback.FallbackStrategyOptions
{
FallbackAction = _ => Outcome.FromResultAsValueTask(new DataTable())
});
});
В метод, реализующий имеющийся у меня запасной вариант:
Код: Выделить всё
public async Task RunSqlGetDt(string sql)
{
var pipeline = _provider.GetPipeline("my-sql-pipeline");
var data = await pipeline.ExecuteAsync(
async token =>
{
await _client.RunSqlGetDt(sql);
},
CancellationToken.None);
return data;
}
CS1643 Не все пути кода возвращают значение в лямбда-выражении типа 'Func'
Я не вижу пути, который не возвращает значение в функции Lamda. Может ли кто-нибудь спасти мое здравомыслие?
Подробнее здесь: https://stackoverflow.com/questions/785 ... back-issue