6

ASP.NET MVC 3 projemde, oturum açma kimlik doğrulaması için bir web servisi arıyorum. Ama bir istisna atar:Eşzamansız bir işlem şu anda başlatılamıyor WebService çağrılıyorken özel durum oluşuyor mu?

Asynchronous Exception

durum ayrıntıları:

Zaman uyumsuz bir işlem şu anda başlatılamaz. Eşzamansız işlemler sadece bir senkronize olmayan işleyici veya modül içinde veya Sayfa yaşam döngüsündeki belirli olaylar sırasında başlatılabilir. Bir Sayfa yürütülürken bu özel durum oluştuğunda, Sayfanın <% @ Page Async = "true"%> işaretlendiğinden emin olun.

Bu sorun nasıl giderilir?

+0

Denetleyici eylemi nasıl bildirilir? Bu async mi? –

+0

Ayrıca, zaman alıcı süreç için başka bir iş parçacığı oluşturabilirsiniz :). Eşzamansız yöntemler ayrıca dahili olarak başka bir iş parçacığı da oluştururlar –

+0

Denetleyicinin bir async Task veya void döndürdüğünden emin olun ve async yönteminde bekletme çağrısı yapın. –

cevap

4

Denetleyici yönteminizin bir async Task işlevi döndürdüğünden emin olun.

public class ServiceController : Controller 
{ 
    public async Task<ActionResult> Index() 
    {  
     var service = new Service(); 
     await service.CallMethodAsync();  
     return View(); 
    } 
} 

Temelde, dokümantasyon kendi dokümantasyon güncellenmesi gerekiyor bu yüzden ancak belli ki sen de MVC uygulamalarında kullanabilirsiniz, bunlar yalnızca ASP.NET WebFormları kullanıyor inanmak bir şekilde yazılmıştır.

+0

Görev kaybı HttpContext bu büyük bir sorundur – nim