Информация об изменениях

Сообщение Configuration.ContinueOnCapturedContext - зачем? от 27.06.2021 12:33

Изменено 27.06.2021 12:37 artelk

Configuration.ContinueOnCapturedContext - зачем?
https://linq2db.github.io/articles/FAQ.html#which-async-model-linq-to-db-use
Почему не false везде, раз самой библиотеке этот контекст не нужен?
// Linq2Db library method
async Task<Foo> GetFooAsync()
{
  //...
  await SomethingElseAsync().ConfigureAwait(Configuration.ContinueOnCapturedContext);
  //...
  return ...;
}

// Client side code
async Task UIMethodAsync()
{
  var foo = await GetFooAsync().ConfigureAwait(true);
  lbl1.Text = "Done";
}

В клиентском коде контекст восстановится, даже если Configuration.ContinueOnCapturedContext был false.
Configuration.ContinueOnCapturedContext - зачем?
https://linq2db.github.io/articles/FAQ.html#which-async-model-linq-to-db-use
Почему не false везде, раз самой библиотеке этот контекст не нужен?
// Linq2Db library method
async Task<Foo> GetFooAsync()
{
  //...
  await SomethingElseAsync().ConfigureAwait(Configuration.ContinueOnCapturedContext);
  //...
  return ...;
}

// Client side code
async Task UIMethodAsync()
{
  var foo = await GetFooAsync().ConfigureAwait(true); // или просто await GetFooAsync();
  lbl1.Text = "Done";
}

В клиентском коде контекст восстановится, даже если Configuration.ContinueOnCapturedContext был false.