C# 在另一个等待中使用等待

C# 在另一个等待中使用等待,c#,async-await,C#,Async Await,我正在开发一个web api,我有一些来自EF的异步方法。我在互联网上读到的所有例子都显示了简单的呼叫或狙击,但不是我想要的…所以,这是我的问题: 我的存储库类中有此方法: public async Task GuardarLibro(Book book) { var dbLibro = _libroConverter.Convert(libro); using (_migraPleContext) { _migraPleContext.Libro.Ad

我正在开发一个web api,我有一些来自EF的异步方法。我在互联网上读到的所有例子都显示了简单的呼叫或狙击,但不是我想要的…所以,这是我的问题:

我的存储库类中有此方法:

public async Task GuardarLibro(Book book)
{
    var dbLibro = _libroConverter.Convert(libro);

    using (_migraPleContext)
    {
        _migraPleContext.Libro.Add(dbLibro);
        await _migraPleContext.SaveChangesAsync();
    }
}
然后我有另一个类调用我的存储库…因为,我的存储库中的方法是异步的,我这样调用它:

var libroDb = _libroConverter.Convert(libro);
await _libroRepository.GuardarLibro(libroDb);

我的问题是,这种方法是否正确。我在处理程序类中使用了一个wait,在存储库类中使用了另一个wait,我不确定这是一种好的做法还是对性能有影响。

这是使用
异步/wait
的一种正确方法


你可以考虑调用每个可等待的<代码>任务>代码>如果你不需要上下文捕获。

我看不到这两个片段之间的联系。
GuardarLibro
是否翻译成了
SaveBook
?嗨,Rob,是的,这是我的错,我应该从一开始就使用GuardarLibro。感谢Russ的反馈。ConfigureAwait是否提高了性能?@trololog85是的,使用
ConfigureAwait(false)