可以不等待异步方法调用吗?

时间:2013-05-03 00:17:23

标签: c# asynchronous async-await

我有一个将上传文件的应用程序。我不希望我的应用程序在文件上传期间暂停,所以我想异步执行任务。我有这样的事情:

class Program
{
    static void Main(string[] args)
    {
        //less than 5 seconds
        PrepareUpload();
    }

    private static async Task PrepareUpload()
    {
        //processing

        await Upload();

        //processing
    }

    private static Task Upload()
    {
        var task = Task.Factory.StartNew(() => System.Threading.Thread.Sleep(5000));

        return task;
    }
}

异常正在内部处理,因此这不是问题。

是否可以像拍摄一样使用async / away而忘记这样?

1 个答案:

答案 0 :(得分:9)

在控制台应用中,需要等待。否则,您的应用程序将退出,终止正在进行的所有后台线程和异步操作。