Pregunta

Al desarrollar una aplicación (web, win, lo que sea) que permita el acceso a muchos datos, ¿es mejor mantener abierto el objeto de acceso a los datos durante la duración de la solicitud (es decir, hacer muchas cosas seguidas, luego cerrarlo cuando terminas), o sigues abriendo y cerrando otras nuevas?

protected aDataContext dc = new aDataContext();

vs

private aObject GetInfo(...) {...}

Creo que lo primero sería mejor para el rendimiento; pero parece una mala práctica.

¿Fue útil?

Solución

Normalmente, debe abrir una nueva conexión para cada unidad de trabajo, usarla y luego cerrarla lo antes posible. Internamente .NET (o ADO o ODBC o lo que sea) agrupará las conexiones para usted, siempre que la cadena de conexión sea la misma, por lo tanto, en realidad es muy eficiente. Hay otros aspectos que se deben tener en cuenta, especialmente las transacciones, pero en general es mejor seguir este patrón de abrir y cerrar y dejar que .NET administre el grupo de conexiones.

Otros consejos

Es mejor usar un grupo de conexiones. mantenga un número limitado de conexiones abiertas tanto como pueda. Abrir una conexión es costoso, pero tener millones de conexiones abiertas puede destruir su servidor. debería evaluar su situación para obtener mejores resultados ....

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top