Mil*_*ahi 1 c# asp.net asynchronous .net-4.5
我有一个类似下面的课程
public class ImageUploader
{
....
public Task<string> Upload()
{
return new Task<string>(
() =>
{
....
return UploadedFilePath;
}
);
}
....
}
Run Code Online (Sandbox Code Playgroud)
然后我就像这样使用它
var uploadIcon = new ImageUploader();
var uploadLogo = new ImageUploader();
var uploadIconTask = uploadIcon.Upload();
var uploadLogoTask = uploadLogo.Upload();
Task.WaitAll(uploadIconTask, uploadLogoTask); // never returns
Run Code Online (Sandbox Code Playgroud)
和Task.WaitAll永远挂起!
问题是什么?!
它挂起是因为你从未开始任务.所以WaitAll等待他们完成,他们永远不会,因为他们从未开始.
如果您查看Task.WaitAll的doco,您将看到StartNew()用于创建的任务 - 这将创建并启动任务.
| 归档时间: |
|
| 查看次数: |
1277 次 |
| 最近记录: |