Nueva API web ASP.NET HttpClient me ha dado algunos resultados extraños. Aquí está mi código:HttpClient GetStringAsync - Nunca vuelve
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);
}
}
Esto nunca vuelve y la consola aparece y desaparece repentinamente. Cuando cambio el código de la siguiente manera, funciona como se supone que debe:
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;
}
¿Alguna idea de cuál sería el problema?
Eso ni siquiera compila. Un punto de entrada ('Main') no puede ser asincrónico. Fallará con el error CS4009. – vcsjones
@vcsjones En el Async CTP está permitido (pero es una mala idea) – hvd
@hvd Interesante. Aunque es mejor que no lo permitan ahora. – vcsjones