私はEFの非同期メソッドを使用してデータベースからデータをフェッチしています。ほとんどの場合、すべてが順調です。私は後半の数ObjectContextDisposed例外になってきた、と私は私の解決策が機能する理由として興味があります:ここでこれらの2つの非同期実装の違い
はObjectContextDisposed
を投げた私の元のコードだった:ここ
public Task<List<string>> GetEventParameterMru(EventParameter parameter, int count = 20)
{
using (var repo = new ConfigurationRepository())
{
return repo.GetEventParameterMRU(_CurrentWorkpack, parameter, count)
}
}
は「doesnの私の新しいコードですトンスロー:
public async Task<List<string>> GetEventParameterMru(EventParameter parameter, int count = 20)
{
using (var repo = new ConfigurationRepository())
{
var result = await repo.GetEventParameterMRU(_CurrentWorkpack, parameter, count);
return result;
}
}
誰かが差があり、そしてなぜそれがどのような作品に私に説明してもらえますか?
ちょうどFYI、この方法のすべての私の用途では、私が呼んawait GetEventParameterMru()
おかげ
ありがとう、これは非常に明確かつ簡潔でした。 – Simon