5
新的ASP.NET Web API HttpClient一直給我一些奇怪的結果。這裏是我的代碼:HttpClient GetStringAsync - 它永遠不會回來
class Program {
static async void Main(string[] args) {
var address = "http://localhost:3895/api/urls";
Console.WriteLine(await getStringAsync(address));
Console.ReadLine();
}
public static async Task<string> getStringAsync(string uri) {
var httpClient = new HttpClient();
return await httpClient.GetStringAsync(uri);
}
}
這永遠不會回來,控制檯突然出現和消失。當我更改代碼如下時,它的工作原理如下:
static void Main(string[] args) {
var address = "http://localhost:3895/api/urls";
Console.WriteLine(getString(address));
Console.ReadLine();
}
public static string getString(string uri) {
var httpClient = new HttpClient();
return httpClient.GetStringAsync(uri).Result;
}
有什麼想法會是什麼問題?
這甚至沒有編譯。入口點('Main')不能是異步的。它會因CS4009錯誤而失敗。 – vcsjones 2012-03-26 19:23:03
@vcsjones在允許Async CTP(但是一個壞主意) – hvd 2012-03-26 19:25:59
@ hvd有趣。儘管他們現在最好不要。 – vcsjones 2012-03-26 19:27:20