2010-10-29 29 views
6

necesito conocer las mejores prácticas para evitar el tiempo de espera de conexión cuando uso LINQ to SQL en aplicaciones .net especialmente al devolver IQueryable<T> de capas o niveles de acceso a datos.mejor práctica para evitar el tiempo de espera de conexión al usar LINQ to SQL

Recibo "Tiempo de espera caducado. El tiempo de espera transcurrió antes de obtener una conexión del grupo. Esto puede haber ocurrido porque todas las conexiones agrupadas estaban en uso y se alcanzó el tamaño máximo de la agrupación". error al probar mi aplicación asp.net para pruebas webstress ?

Respuesta

7

http://www.geekscrapbook.com/2010/08/13/connection-timeout-using-linq-datacontext/

liga te va a explicar lo que va a ser la razón de Timeouut usando LINQ a SQl.You puede aumentar manualmente la ejecución de la consulta por defecto time.By sus 30 seg. De acuerdo con Visual Studio 2008 Ir a

Herramientas> Base de datos Herramientas> Consulta & vista diseño

Aquí obtendrá la opción de aumentar el tiempo de ejecución. Espero que te ayude.

buena suerte

+1

Gracias Prateek, En realidad, la cuestión es si volver IQueryable de su capa de acceso a datos (DAL) no se puede utilizar la instrucción using para el contexto de datos – DSharper

4

Es necesario aumentar el valor CommandTimeout propiedad en su objeto DataContext (el valor predeterminado es de 30 segundos), se mide en segundos, por ejemplo:

myDataContext var = new MyDbDataContext (myConnectionString) { CommandTimeout = 120 }; var rows = myDataContext.sp_Agent__Select (agentId);

+2

Esto parecería ser una mejor solución, ya que no quiere necesariamente establecer el tiempo de espera para cada proyecto que se crea –

1

En realidad, es posible que desee comprobar si el servidor está realmente funcionando. Me encontré con este problema: resulta que olvidé reiniciar el servicio MSSQL después de detenerlo para realizar el mantenimiento.

error novato básico, pero me causó un dolor de cabeza semanas

Cuestiones relacionadas