6

Actualmente existe una rama asincrónica de ServiceStack que permitirá la creación de servicios asíncronos. Pero para obtener todos los beneficios de la sincronización, todas las operaciones vinculadas a IO deberían ser asincrónicas y, por lo tanto, todas las solicitudes de bases de datos también deberían ser asincrónicas. Actualmente estoy usando OrmLite con Postgresql y, por lo tanto, me gustaría saber si OrmLite admite consultas/operaciones asíncronas. Si no, ¿qué otros .Net Micro-Orms admite operaciones asincrónicas?Soporte asincrónico en ServiceStack y OrmLite

Respuesta

3

OrmLite tiene Async support en .NET v4.5 compilaciones para los proveedores de SQL Server y MySql ADO.NET. pseudo async API support también se agregó para SQLite ya que es una opción popular para las pruebas de memoria rápidas.

+0

demasiado vergüenza por no ser una sincronización de la caja – Adaptabi

-1

Lo siento si no he entendido bien la pregunta

pero ¿por qué no puedo envolver las llamadas utilizando la tarea paralela TPL Biblioteca o equivalente?

Esto es lo que hago y estoy muy contento con los resultados. Al final del día sólo se está consultando para los datos ...

Gracias

+3

Podría, pero eso implicaría poner cada consulta DB como una tarea de bloqueo en algún hilo de fondo (por TPL por defecto, que sería un hilo ThreadPool). Si ThreadPool tiene como máximo 4 subprocesos (uno para cada núcleo de CPU), entonces puede tener como máximo 4 consultas de DB en paralelo pendientes. Esto podría, en algunos casos, seguir siendo una ventaja sobre hacer todo de forma secuencial en un único hilo, pero a menudo ya tienes múltiples hilos concurrentes en curso de todos modos. Con la sincronización correcta, podría tener muchas, muchas consultas simultáneas en ejecución de DB pendientes. – skrebbel

+1

Esto le permitirá ejecutar esas operaciones al mismo tiempo, el OP preguntó acerca de ejecutarlas de forma asincrónica. Muy diferente. Async en el servidor se trata de consumir menos hilos, no más. –

2

recientemente he empezado a trabajar en AsyncPoco, un tenedor totalmente asíncrona de la popular PetaPoco micro-ORM. Todavía necesita algunas pruebas y algunos documentos/ejemplos adecuados, y hasta el momento no es compatible con PostgreSQL. ACTUALIZACIÓN: AsyncPoco ahora tiene un poco de documentación básica y ejemplos, ¡y PostgreSQL ahora es compatible!

En cualquier caso, ha preguntado por otros microordenadores ORM .NET que admiten operaciones asincrónicas, así que pensé que podría mencionarlo como uno a tener en cuenta.