Hangi senaryolarda kullanmak istersiniz
public async Task AsyncMethod(int num)
onun yerine
public async void AsyncMethod(int num)
Düşünebileceğim tek senaryo, ilerlemesini takip edebilmek için göreve ihtiyacınız varsa.
Ayrıca, aşağıdaki yöntemde, zaman uyumsuz ve bekleyen anahtar kelimeler gereksiz mi?
public static async void AsyncMethod2(int num)
{
await Task.Factory.StartNew(() => Thread.Sleep(num));
}
Thread.Sleepgörevlerinizle birlikte kullanmamanız gereken bir notawait Task.Delay(num)
Task.Delayolmadığı Task.AsyncDelaygibi
async voidyerine ilan edildi async Task. Yöntem, denetleyicinin bir üyesi olarak bildirilen bir Entity Framework bağlam nesnesi kullandığından, yöntem, yürütme işlemi tamamlanmadan önce atılmış olduğu için çöktü. Çerçeve, denetleyiciyi yöntemi yürütülmeden bitirdi. Yöntemi zaman uyumsuz Görev olarak değiştirdim ve işe yaradı.
Foo()gerektiğini unutmayın.Örnek olurFooAsync().