Gracias Raul, pero actualmente utilizamos Enterprise Library 5.0 y un
conector de terceros (Devart), aún no están las contribuciones para npgsql
en esa versión, y aunque este conector si trabaja con pooling notamos cierta
lentitud al definir la conexión, para obtener datos de una vez está bien,
pero cuando realizamos múltiples conexiones en diferentes capas, el
pooling=true  mantiene solo una conexión pero  se toma su tiempo en
verificarla una por una.

Supongo que tendremos que investigar un poco más la “customización” de EL.

Grcias.

Yoel.

 

 

De: [email protected]
[mailto:[email protected]] En nombre de Raúl Andrés Duque
Murillo
Enviado el: Martes, 30 de Noviembre de 2010 19:26
Para: Yoel Mc Lennan; [email protected]
Asunto: Re: [pgsql-es-ayuda] MAntener conexiones abiertas con Enterprise
Library y .net Postgresql

 

Que tal Yoel.

 

Pensaría que no deberías preocuparte por mantener la conexión abierta por
temas de performance ... precisamente esa es la ventaja de usar pool de
conexiones y Npgsql lo implementa.

 

Atentamente,

 

RAUL DUQUE

Bogotá, Colombia

 

From: Yoel Mc Lennan <mailto:[email protected]>  

Sent: Tuesday, November 30, 2010 8:09 AM

To: [email protected] 

Subject: [pgsql-es-ayuda] MAntener conexiones abiertas con Enterprise
Library y .net Postgresql

 

Buenas, quizá alguien haya tenido el siguiente problema,

Quiero realizar pruebas de rendimiento mantenirndo abierta una conexión a
postgresl con Enterprise library de Microsoft

Actualmente abrimos y cerramos la conexión con cada consulta, pero el
rendimiento no es óptimo ya que se consume bastante en establecer la
conexión

 

            // Genera Lista completa
            globales._Cliente_contacto l_cliente_contacto = new
globales._Cliente_contacto();
            Database db = DatabaseFactory.CreateDatabase("ConnPgCore");
            DbCommand dbCommand =
db.GetStoredProcCommand("public.cliente_contacto_load_all");
            IDataReader idr = db.ExecuteReader(dbCommand);
            List<Ent._globales._Cliente_contacto> ml =
Entity.PopulateEntities<Ent._globales._Cliente_contacto>(idr);
            dbCommand.Connection.Close();
            return ml;

 

 

La pregunta es si se puede mantener una conexión en forma global con
Enterprise Library ya que las formas que hemos probado no lo permiten o
abren una conexión por cada dbcommand.

Saludos y gracias por cualquier indicio J

 

Responder a