Aşağıdaki gibi bir görev yapıyorum.Task.wait ve continueWIth
var task = Task<string>.Factory.StartNew(() => longrunningmethod()
.ContinueWith(a =>
longrunningmethodcompleted((Task<string>)a,
TaskScheduler.FromCurrentSynchronizationContext())));
task.Wait();
Görevim longrunningmethod'u çağırır ve tamamladıktan sonra tamamlanmış yöntemi çağırır. Longrunningmethod içinde Thread.Sleep(30000)
tarafından geciktiriyorum. Task.wait sistemini kullandığımda sistem askıda kalıyor ve longrunningmethodcompleted yöntemini çağırmıyor. Task.wait kullanmazsam her şey iyi akar.
Bana bir kilitlenme gibi geliyor, bunu tek bir dişli ortamda yapıyor musunuz? Bunu daha önce Windows Phone geliştirme aşamasında gördüm. ([related] (http://stackoverflow.com/questions/8277291/continuation-tasks-hanging-when-using-limitedconcurrencyleveltaskscheduler)) –