2014-12-22 3 views
2

TPL에서 완전히 녹색이며 콘솔 응용 프로그램에서 비동기 메서드를 실행하려고합니다.콘솔 응용 프로그램에서 async/await가 작동하지 않습니다.

는 내 코드 :

static void Main() 
    { 
     Task<string> t = MainAsync(); 
     t.Wait(); 
     Console.ReadLine(); 
    } 

    static async Task<string> MainAsync() 
    { 
     var result = await (new Task<string>(() => { return "Test"; })); 
     return result; 

    } 

이 작업은 영원히 실행됩니다. 왜? 내가 뭘 놓치고 있니?

답변

8

작업을 시작하지 마십시오. 따라서 Wait이 반환되지 않습니다. 시도해보십시오.

var result = await Task.Run<string>(() => { return "Test"; }); 
관련 문제