Estoy intentando escribir un servidor asíncrono que consulte una base de datos de SQL Server y me preocupa que mi lado de DB sea demasiado sincrónico. Específicamente, puedo llamar al ExecuteReader
de forma asíncrona, pero luego no puedo llamar al reader.Item
de forma asíncrona y es donde se gasta el 57% del tiempo (¡bloqueando mi valioso hilo!).ADO.NET asíncrono
¿Es esto lo más asíncrono que puedo hacer con ADO.NET o hay una manera asíncrona de hacer también reader.Item
?
así que ... es '' C# o '' F #? – balexandre
Sé excatly lo que quiere decir, siempre se preguntó por qué no hay métodos de asincronización en (Sql) DataReaders, ya que esta debería ser su operación clásica vinculada a la red. Al leer los documentos, se insinúa que BeginExecuteReader/EndExecuteReader "recuperará uno o más conjuntos de resultados del servidor". - ¿Estás seguro de que la mayor parte del tiempo lo pasas en Read? – Carsten
@balexandre: Cualquiera. Cualquiera que sea más adecuado. –