2

このような API 呼び出しの非同期バージョンを作成することを妨げるもの (アンチパターン) はありますか?

public IItem GetItem(int id)
{
    var result = SomeLengthyServiceCall(id);
    return result;
}

public async Task<IItem> GetItemAsync(int id)
{
    return await Task.Run(() => this.GetItem(id));
}
4

1 に答える 1

1

はい、それはアンチパターンです。同期メソッドの非同期ラッパーに関するStephenToubの優れたブログ投稿を参照してください。

つまり、自然に非同期のメソッドのみが非同期APIを持つ必要があります。

于 2013-01-18T15:28:30.003 に答える