Articles of async await

Parallel.ForEach y async-await

Tenía ese método: public async Task GetResult() { MyResult result = new MyResult(); foreach(var method in Methods) { string json = await Process(method); result.Prop1 = PopulateProp1(json); result.Prop2 = PopulateProp2(json); } return result; } Entonces decidí usar Parallel.ForEach : public async Task GetResult() { MyResult result = new MyResult(); Parallel.ForEach(Methods, async method => { string json […]

¿Cómo proteger los recursos que se pueden usar en un entorno multiproceso o asíncrono?

Estoy trabajando en una API de C # que es utilizada por una variedad de consumidores. Esta API proporciona acceso a un recurso compartido (en mi caso, hardware que hace comunicación en serie), que a menudo tendrá algunos actores diferentes que intenten usarlo al mismo tiempo. El problema que tengo es que algunos de mis […]

¿Por qué es HttpContext.Current null después de esperar?

Tengo el siguiente código de prueba de WebAPI, no uso WebAPI en producción, pero lo hice debido a una discusión que tuve sobre esta pregunta: pregunta asincrónica de WebAPI De todos modos, aquí está el método WebAPI ofensivo: public async Task Get(int id) { var x = HttpContext.Current; if (x == null) { // not […]

¿Cuál es la diferencia entre progtwigción asíncrona y multihilo?

Pensé que básicamente eran lo mismo: escribir progtwigs que dividen tareas entre procesadores (en máquinas que tienen 2 o más procesadores). Entonces estoy leyendo https://msdn.microsoft.com/en-us/library/hh191443.aspx , que dice Los métodos asíncronos están destinados a ser operaciones sin locking. Una expresión de espera en un método asíncrono no bloquea el hilo actual mientras se está ejecutando […]

Cancelar una tarea pendiente de forma sincrónica en el hilo de la interfaz de usuario

Algunas veces, una vez que he solicitado la cancelación de una tarea pendiente con CancellationTokenSource.Cancel , necesito asegurarme de que la tarea ha alcanzado correctamente el estado cancelado , antes de poder continuar. La mayoría de las veces me enfrento a esta situación cuando la aplicación está finalizando y quiero cancelar todas las tareas pendientes […]

¿Cuál es la nueva función de espera de C #?

¿Alguien puede explicar lo que hace la función de await ?

¿Llamar al método asincrónico en el constructor?

Resumen : me gustaría llamar a un método asincrónico en un constructor. es posible? Detalles : Tengo un método llamado getwritings() que analiza datos JSON. Todo funciona bien si solo llamo a getwritings() en un método async y lo pongo a la izquierda. Sin embargo, cuando creo un LongListView en mi página y trato de […]

¿Por qué cuelga esta acción asíncrona?

Tengo una aplicación .Net 4.5 de varios niveles que llama a un método que usa la nueva async C # y await palabras clave que simplemente se cuelgan y no puedo ver por qué. En la parte inferior, tengo un método asíncrono que extiende nuestra utilidad de base de datos OurDBConn (básicamente un contenedor para […]

¿Async espera la palabra clave equivalente a un ContinueWith lambda?

¿Podría alguien tener la amabilidad de confirmar si he entendido que Async aguarda correctamente la palabra clave? (Usando la versión 3 del CTP) Hasta ahora he descubierto que insertar la palabra clave await antes de una llamada a un método esencialmente hace dos cosas, A. Crea una devolución inmediata y B. Crea una “continuación” que […]

El funcionamiento asincrónico de Entity Framework tarda diez veces más en completarse

Tengo un sitio de MVC que está utilizando Entity Framework 6 para manejar la base de datos, y he estado experimentando con cambiarlo para que todo se ejecute como controladores asíncronos y las llamadas a la base de datos se ejecuten como sus contrapartes asíncronas (por ejemplo, ToListAsync () en lugar de ToList ()) El […]