异步运行控制台以产生更高效的输出

时间:2013-08-22 18:41:24

标签: c# .net asynchronous console-application async-await

class CommandLine2
{
static void Main(string[] args)
{
    System.Console.WriteLine("Number of command line parameters = {0}", args.Length);

    foreach (string s in args)
    {
        System.Console.WriteLine(s);
    }
}
}

这是一个控制台应用程序的示例,它将从WCF激活任务。

我有一个项目,逐行触发csv文件的一组检查,我正在创建一个控制台应用程序来完成任务。我需要的是运行这个异步,所以它会击中每一行,然后说几秒钟结束任务。我希望它高效,这就是原因。我将使用WCF,所以如果你知道一种运行命令异步的方法,请指导我。

1 个答案:

答案 0 :(得分:1)

如果您正在使用WCF,您应该能够使客户端服务器引用包括基于任务的异步客户端调用。

然后你只需要异步调用操作。

但是,鉴于您正在使用控制台应用程序,您可能不想使用async / await,而只需触发操作,并使用Task.WaitAll或类似。控制台应用程序中的异步操作问题是没有当前的同步上下文,因此在异步工作完成之前,您需要注意不要关闭应用程序。