Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: yercaos en 23 Marzo 2015, 15:10 pm



Título: Abrir cerrar Conexion Mysql C#?
Publicado por: yercaos en 23 Marzo 2015, 15:10 pm
HOla estoy empezando a programar en c# y que me recomiendan, deberia mantener abierta una conexión o abrir y cerrar cuando termine las consultas?


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: Usuario Invitado en 23 Marzo 2015, 16:44 pm
Las conexiones se deben de cerrar al terminar cada proceso. Puedes utilizar la misma conexión para hacer X consultas, pero al final, siempre debes cerrarlas para liberar cursors, handlers, etc, que son recursos de la conexión a la BBDD. Otro problema puede ser que si tenemos una aplicación multi threading, ambos hilos pueden acceder paralelamente a la misma conexión y ocurrirá un problema, para esto es conveniente usar synchronized.

Si tienes que hacer muchas conexiones simultáneas, mejor usa un pool.


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: elvehe en 23 Marzo 2015, 23:36 pm
Y que pasaria si utilizamos una sola conexión en toda la aplicación y lo serramos al finalizar la aplicacion, es decir sin desconectarnos en cada proceso .Como en la programacion web.

Creo que esta es la mejor opcion. Te ahorras codigo


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: Shell Root en 24 Marzo 2015, 00:44 am
Si mal no recuerdo cuando lei patterns en PHP, lo que se debe de usar es Singleton. Si lo que digo es una burrada, es porque ando al pedo. jajajaja


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: Usuario Invitado en 24 Marzo 2015, 20:27 pm
Singleton es considerado una mala práctica, para algunos es un anti patrón. Los objetos singleton dificultan la programación orientada a objetos. El simple hecho de ser un singleton va en contra de la POO, cuyo principal objetivo es que el acoplamiento entre clases sea lo más débil posible, reutilizar código entre otras.

¿Qué pasa si cambia la especificación del singleton? Debemos cambiar todos los bloques en donde hagamos uso del singleton. ¿Qué tan posible es reutilizar código de una aplicación que hace uso de singletons en otra diferente? Prácticamente nula. Cuando usamos singletons, la reutilización, mantenimiento y testeabilidad, baja a niveles muy bajos.


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: elvehe en 25 Marzo 2015, 01:05 am
Tienen razon el singleton va en contra de la modularidad.
Pero si estamos hablando de una simple conexion que sabemos que siempre se va a ser igual, creo que es valido  ademas te ahorraria mucho codigo al estar cerrando y abriendo conexiones.
 :P entonces es aceptable.


Título: Re: Abrir cerrar Conexion Mysql C#?
Publicado por: Usuario Invitado en 25 Marzo 2015, 02:34 am
En aplicaciones pequeñas que no van a escalar, no tiene mucha importancia, no hay impacto negativo, solo seria un mal hábito pero sin repercusiones en el funcionamiento de la aplicación. De todas formas existen alternativas al Singleton.

Saludos.