Aquí podría ser tu PUBLICIDAD


Linq a las conexiones de SQL

votos
2

Estoy utilizando Linq a SQL para un sitio bastante complicado, y después de la activación, hemos tenido una serie de tiempos de espera de la base de datos. Lo primero que noté fue que hay una cantidad bastante grande de conexiones a la base de datos.

Viniendo de un fondo ADO.net solíamos codificarlo para que cualquier sitio solo utilizara una o dos conexiones agrupadas, y esto resultó en un rendimiento aceptable incluso con unos pocos usuarios simultáneos.

Entonces mi pregunta es, ¿esta era la forma antigua de hacerlo defectuoso, O hay una forma de hacerlo LINQ? Parece que nuestros problemas de rendimiento están causados ​​por tantas conexiones con la base de datos, pero si esto fuera un problema, habría pensado que se mencionaría en todos los tutoriales para LINQ.

¿Alguna sugerencia?

Publicado el 12/03/2009 a las 19:08
fuente por usuario ColinRobertson
En otros idiomas...        العربية       

1 respuestas

votos
3

Supongo que mantendrás DataContexts y no llamarás a Dispose cuando termines (o los dejarás al menos).

Por el contrario, debe inicializar su DataContext, realizar su operación y luego deshacerse de ella cuando haya terminado. No debe mantener una referencia entre las operaciones.

Preferiblemente, usaría la instrucción using para manejar la llamada a IDisposable.

Con respecto a la agrupación de conexiones, el SqlClient agrupa las conexiones de forma predeterminada, por lo que, a menos que lo desactive explícitamente, debería aprovecharlo ya. Por supuesto, si no estás liberando las conexiones que estás utilizando, entonces la agrupación solo te llevará tan lejos.

Respondida el 12/03/2009 a las 07:11
fuente por usuario casperOne


Aquí podría ser tu PUBLICIDAD