asyn示例调用多个方法

时间:2015-04-01 11:58:04

标签: .net async-await c#-5.0

我正在学习异步编程,我不确定我是否正朝着正确的方向前进。我想调用多个方法异步,但从我读的asyn应该从顶层开始跟随到最低级别。但是在我做asyn方法的顶级时,编译器抱怨不能等待字符串。

    public static async void Method()
    {
        var classdemoAsyn = new DemoAsyn();
        var t = await classdemoAsyn.DoSomeImportantWork("Start ").Result;
    } 

public class DemoAsyn
{
    public async Task<string> DoSomeImportantWork(string strDoSomeWork)
    {
        strDoSomeWork = strDoSomeWork + " (1) Enter => so some important work";
        Console.WriteLine("**********Enter => so some important work******");
        var t = await SomeComplexOperation(strDoSomeWork);
        Console.WriteLine("***********End Do some important work***********");
        return t;
    }

    public Task<string> SomeComplexOperation(string StrDoSomeComplexWork)
    {
        string str =StrDoSomeComplexWork + "Enter => very very complex work";
        Console.WriteLine(str);
        return Task.Factory.StartNew(() => {return str; });
    }

}

0 个答案:

没有答案