我想了解c#中的異步方法 我已經創建了一個延遲10秒的wcf服務。我正在從控制檯應用程序調用wcf服務,值爲asyncValue從不設置。它只是關閉控制檯應用程序。異步任務等待
爲什麼asyncValue從未設置爲Ok?
WCF服務
[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class AsyncService
{
[OperationContract]
public async Task<string> TimeAsync()
{
await Task.Delay(10000);
return "Ok";
}
}
控制檯應用程序
static void Main(string[] args)
{
Task<string> asyncValue = GetAsyncTimeFromWcf();
}
private static async Task<string> GetAsyncTimeFromWcf()
{
AsyncService.AsyncServiceClient client = new AsyncService.AsyncServiceClient();
Task<string> asyncTime = client.TimeAsync();
return await asyncTime;
}
等待'asyncValue' –
@ L.B你不能'等待asyncValue'的'main'方法中,因爲沒有被標記爲'async',你不能標記主要是異步。 – Alberto
'asyncValue.Result' –