2011-10-03 22 views
7

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?

+1

así que ... es '' C# o '' F #? – balexandre

+0

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

+0

@balexandre: Cualquiera. Cualquiera que sea más adecuado. –

Respuesta