En su mayor parte, úselo en todas partes. Es por eso que convirtieron todo lo que lleva más de 50 ms en una llamada asíncrona :).
Sin embargo, tendrá los mismos inconvenientes que cualquier código asíncrono. La depuración podría ser más complicada. Si comienza a hacer una cosa y luego regresa a una tarea larga en el hilo de la interfaz de usuario, podría provocar una congelación falsa (el usuario podía moverse después de hacer clic, pero luego no puede hacer nada en la medida en que lo ve). Etc
Si lo ejecuta a través del código que espera valores, entonces actuará como código sincrónico de todos modos. Y, si golpea la memoria caché o alguna acción rápida, no se ejecutará de manera asincrónica por eficiencia. Por lo tanto, este último punto significa que, aunque exista una sobrecarga para realizar la magia del compilador en estas llamadas, esa magia no se realizará si la llamada ya se ha completado y, por lo tanto, no vale la pena.
Así que, sí, yo diría que lo utilizan en casi todas partes :) Es un gran paso para .NET
ACTUALIZACIÓN
If this article is to believed entonces sólo justifica lo que estoy diciendo. Si la llamada tarda menos de 50 ms, entonces no es ni debe ser asincrónico debido a la sobrecarga para escribirlo de esa manera. Y, de hecho, la mayoría de las veces activará la acción síncrona en lugar de la asincrónica. Sin embargo, si es más de 50 ms, solo obtendrá ganancia de la llamada asincrónica
¡Gracias! Eso es lo que pensé, pero quería confirmar mis creencias. – W3Max