Nowe API ASP.NET Web HttpClient daje mi dziwne wyniki. Oto mój kod:HttpClient GetStringAsync - To nigdy nie wróci
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);
}
}
To nigdy nie wraca, a konsola nagle pojawia się i znika. Kiedy zmieniam kod, jak poniżej, działa on tak, jak powinien:
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;
}
Jaki jest pomysł?
To nawet nie kompiluje. Punkt wejścia ('Main') nie może być asynchroniczny. Nie uda się z błędem CS4009. – vcsjones
@vcsjones W CBS Async jest dozwolone (ale zły pomysł) – hvd
@hvd Ciekawe. Najlepsze, że teraz nie chcą tego. – vcsjones