From: | "Conrado Blasetti" <conrado(at)mapfre(dot)com(dot)ar> |
---|---|
To: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>, <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: [pgsql-es-ayuda] Cerrar conexión activa con Npgsql |
Date: | 2009-03-02 11:10:15 |
Message-ID: | 76A99F19229DC440909CF1B905F8012C07A73671@sar001998.Mapfre.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Fernando gracias por responder. Efectivamente, en la documentación de Npgsql figura lo que comentas.
Lo que hice fue dejar en Pooling=true como lo hace por defecto pero luego de hacer el close, llamo a cnn.ClearPool(), lo que hace justamente es limpiar el pool y funciona ok.
Muchas gracias.
Saludos,
Conrado
-----Mensaje original-----
De: Fernando Hevia [mailto:fhevia(at)ip-tel(dot)com(dot)ar]
Enviado el: Viernes, 27 de Febrero de 2009 05:26 p.m.
Para: Conrado Blasetti; pgsql-es-ayuda(at)postgresql(dot)org
Asunto: RE: [pgsql-es-ayuda] Cerrar conexión activa con Npgsql
> -----Mensaje original-----
> De: Conrado Blasetti
>
> Gente, buenos días.
> Tengo una app en .NET que se conecta a la bd con Npgsql.
> Estoy probando el tema de conectarme y desconectarme. Un
> menú, me conecta a la base, y otro menú desconecta.
>
> Bien, cada vez que me conecto, en el pgAdmin Server status
> veo al usuario conectado a la base, pero cuando hago el close
> de la conection, no desaparece, o sea, sigue conectado.
>
Estimo que tenés la opción de Pooling habilitada (es el default).
Esto hace que .Net mantenga la conexión abierta para ser reutilizada.
Lo que si me llama la atención es que despues de un close y un nuevo open te
aparezca una segunda conexión. En teoría debería reutilizar la primera.
Para deshabilitarlo agregá en tu conection string lo siguiente:
Pooling=false;
Ahora si, con un close la conexión debería efectivamente cerrarse.
(nuevamente en teoría)
Obviamente la recomendación es usar pooling en alguna capa, si no es a nivel
del driver que sea con una aplicación como pgpool2.
Otros parámetros para jugar son:
MinPoolSize (default 1) y MaxPoolSize (default 20).
Para mayor referencia:
http://npgsql.projects.postgresql.org/docs/manual/UserManual.html
Ojo, me parece recordar que las versiones 1.xx del npgsql ignoraban los
seteos de pooling. Asegurate de estar con la versión 2.xx.
Por cierto, te agradecería me comentes luego como te fue al jugar con estos
seteos y si hacen lo que dicen hacer.
Saludos,
Fernando.
From | Date | Subject | |
---|---|---|---|
Next Message | Fabio Arias | 2009-03-02 14:16:02 | plPgSQL - Retornar un Cursor |
Previous Message | Hugo . | 2009-03-02 10:24:18 | Aislar bases de datos |