1

I have a class like below

public class ImageUploader
{
   ....

   public Task<string> Upload()
   {
      return new Task<string>(
                () =>
                    {
                        ....

                        return UploadedFilePath;
                    }
            );
   }
   ....
}

then i'm using it like this

var uploadIcon = new ImageUploader();
var uploadLogo = new ImageUploader();

var uploadIconTask = uploadIcon.Upload();
var uploadLogoTask = uploadLogo.Upload();

Task.WaitAll(uploadIconTask, uploadLogoTask); // never returns

and Task.WaitAll hangs for ever!

what is the problem?!

4

2 に答える 2

2

これはうまくいくはずです:

public class ImageUploader
{
    ....

    public Task<string> Upload()
    {
        return Task.Run(() =>
        {
            ....

            return UploadedFilePath;
        });
    }
    ....
}
于 2013-10-13T06:57:53.363 に答える