私は以下のような作業をしています。Task.waitとcontinueWIth
var task = Task<string>.Factory.StartNew(() => longrunningmethod()
.ContinueWith(a =>
longrunningmethodcompleted((Task<string>)a,
TaskScheduler.FromCurrentSynchronizationContext())));
task.Wait();
私のタスクはlongrunningメソッドを呼び出し、完了後に完了メソッドを呼び出します。 私のlongrunningmethodの中で私はThread.Sleep(30000)
によって遅れています。 Task.waitシステムを使用するとシステムがハングし、longrunningmethodcompletedメソッドが呼び出されません。私がTask.waitを使わないと、すべてがうまくいく。
私はデッドロックのような音ですが、シングルスレッド環境でこれをやっていますか?私はこれがWindows Phone開発でこれまでに起こっているのを見ました。 ([関連](http://stackoverflow.com/questions/8277291/continuation-tasks-hanging-when-using-limitedconcurrencyleveltaskscheduler) –