Articles of async await

HttpClient.GetAsync con credenciales de red

Actualmente estoy usando HttpWebRequest para obtener un sitio web. Me gustaría usar el patrón de espera, que no se da para HttpWebRequests . Encontré la clase HttpClient , que parece ser la nueva clase de trabajadores Http. Estoy usando HttpClient.GetAsync(…) para consultar mi página web. Pero me falta la opción de agregar ClientCredentials como HttpWebRequest.Credentials […]

¿Cómo puedo usar Async con ForEach?

¿Es posible utilizar Async cuando se usa ForEach? A continuación está el código que estoy intentando: using (DataContext db = new DataLayer.DataContext()) { db.Groups.ToList().ForEach(i => async { await GetAdminsFromGroup(i.Gid); }); } Estoy obteniendo el error: El nombre ‘Async’ no existe en el contexto actual El método en el que se incluye la instrucción using se […]

¿Por qué se requiere un “Task.Yield ()” en espera para que Thread.CurrentPrincipal fluya correctamente?

El código siguiente se agregó a un proyecto WebAPI de Visual Studio 2012 .NET 4.5 recién creado. Estoy intentando asignar tanto HttpContext.Current.User como Thread.CurrentPrincipal en un método asincrónico. La asignación de Thread.CurrentPrincipal fluye incorrectamente a menos que un await Task.Yield(); (o cualquier otra cosa asincrónica) se ejecuta (pasar true a AuthenticateAsync() dará como resultado el […]

Contexto de datos EF – Async / Await y Multithreading

Frecuentemente utilizo async / await para asegurarme de que los hilos de la API web ASP.NET MVC no estén bloqueados por las operaciones de E / S y de red de más larga duración, específicamente las llamadas a la base de datos. El espacio de nombres System.Data.Entity proporciona una variedad de extensiones de ayuda aquí, […]

Entity Framework Queryable async

Estoy trabajando en algunas cosas de API web utilizando Entity Framework 6 y uno de mis métodos de controlador es un “Get All” que espera recibir el contenido de una tabla de mi base de datos como IQueryable . En mi repository, me pregunto si hay alguna razón ventajosa para hacerlo de forma asíncrona ya […]

¿Cómo cede y espera implementar el flujo de control en .NET?

Como entiendo la palabra clave yield , si se usa desde dentro de un bloque iterador, devuelve flujo de control al código de llamada, y cuando se llama nuevamente al iterador, continúa donde lo dejó. Además, await no solo espera al destinatario, sino que devuelve el control a la persona que llama, solo para continuar […]

¿Cómo se crea un método asíncrono en C #?

Cada publicación de blog que he leído te dice cómo consumir un método asíncrono en C #, pero por alguna extraña razón nunca expliques cómo construir tus propios métodos asíncronos para consumir. Así que ahora tengo este código que consume mi método: private async void button1_Click(object sender, EventArgs e) { var now = await CountToAsync(1000); […]

Actualización de la GUI de C # y comunicación del puerto serial asíncrono

Intento crear una aplicación que se comunique con el hardware a través del puerto serie e informa los resultados a la GUI. Actualmente, el movimiento a través de la GUI se realiza mediante KeyEvents, que activan el dibujo de la siguiente “página” de GUI. Sin embargo, en un paso (después de presionar la tecla) necesito […]

¿Un patrón para pausar / reanudar una tarea asíncrona?

Tengo una tarea continua mayoritariamente vinculada a IO (un corrector ortográfico de fondo que habla con un servidor de corrección ortográfica). A veces, esta tarea debe suspenderse y reanudarse más tarde, según la actividad del usuario. Mientras que suspender / reanudar es esencialmente lo que hace async/await , he encontrado poca información sobre cómo implementar […]

¿Cuál es la forma correcta de cancelar una operación asincrónica que no acepta un CancelToken?

¿Cuál es la forma correcta de cancelar lo siguiente? var tcpListener = new TcpListener(connection); tcpListener.Start(); var client = await tcpListener.AcceptTcpClientAsync(); Simplemente llamando a tcpListener.Stop() parece dar como resultado una ObjectDisposedException y el método AcceptTcpClientAsync no acepta una estructura CancellationToken . ¿Me estoy perdiendo algo obvio?