ObjectPool es una nueva función de Microsoft, Microsoft nos ayuda a mantener algunos objetos que pueden reutilizarse.
En resumen, similar a las bicicletas compartidas, cuando la usas, escaneas el código para desbloquearla, el vehículo significa que está ocupado, cuando lo usas, cuando cierras el coche, el vehículo liberará la ocupación. Estas ocupaciones y liberaciones son todas mantenidas por la plataforma para nosotros.
Algunos objetos no son seguros para hilos, pero cada vez que instanciamos el objeto, necesitamos consumir algunos recursos.
Primero, creamos una nueva clase SqlConnectionPooledObjectPolicy que hereda la interfaz IPooledObjectPolicy <T>y necesita implementar sus dos métodos.
Cómo instanciar el objeto en el método Crear,Return indica si el objeto aún puede reutilizarse, y cuando se devuelve false, el objeto se eliminará del conjunto de objetos.
El código fuente de la prueba es el siguiente:
Los resultados de las pruebas son los siguientes:
Se puede ver que el pool de conexiones es un poco más lento en las primeras 10 consultas, y después de eso, es más rápido que cada instancia de SqlConnection.
Adjunto está el código fuente
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
|