En una aplicación de WPF 4.5, no entiendo por qué la interfaz de usuario se bloquea cuando utilicé esperan ser una tarea +:Mi tarea asíncrona siempre bloques de la interfaz de usuario
private async void Button_Click(object sender, RoutedEventArgs e)
{
// Task.Delay works great
//await Task.Delay(5000);
double value = await JobAsync(25.0);
MessageBox.Show("finished : " + value.ToString());
}
private async Task<double> JobAsync(double value)
{
for (int i = 0; i < 30000000; i++)
value += Math.Log(Math.Sqrt(Math.Pow(value, 0.75)));
return value;
}
El esperan Task.Delay funciona muy bien, pero la Aguardar JobAsync bloquea la interfaz de usuario. Por qué ? Gracias.
En lugar de empezar la tarea dentro del método podría tener más sentido para agregar una llamada 'Task.Run' en la línea con' await', aunque el resultado final (si la función nunca se vuelve a utilizar) es idéntico. – Servy
Im en un escenario similar, todavía bloquea el subproceso UI. ¿Hay algún inconveniente obvio? – IbrarMumtaz