Pregunta

Tenía un host de Windows de prueba (50 MB) que estaba sirviendo a mi aplicación web ASP.NET, funcionó casi bien, pero después de que se actualizó a 100 MB, obtuve errores de tiempo de espera de SQL Server frecuentes al intentar conectar de forma remota el servidor SQL desde Visual Visual Studio (es decir, en el desarrollo local de mi sitio), intenté aumentar manualmente el tiempo de espera de los comandos de SQL, y creo que de alguna manera se resolvió, pero creo que mi acción no es correcta, por supuesto, mis espectadores de sitio no tienen problemas para ver las páginas como Todo funciona bien para los usuarios finales, solo tuve problemas al desarrollar el sitio y acceder a mi base de datos remota a través de VS2010, ¿debería considerar realmente aumentar el tiempo de espera? ¿Cómo puedo aumentar globalmente el tiempo de espera? ¿Debo configurar la propiedad de CommandTimeout para cada comando SQL? ¿Es posible aumentarlo en la cadena de conexión? Por supuesto, ya que actualmente estoy usando un host compartido, no puedo cambiar la configuración del estudio de administración de SQL Server

¡Por favor, guíeme sobre este problema, ya que no tengo una buena sensación con respecto a la propiedad del tiempo de espera! Gracias

¿Fue útil?

Solución

No creo que haya una manera fácil de establecer esto a nivel mundial, por ejemplo, en la cadena de conexión o algo así.

Lo que podría hacer (pero esto requiere que su código funcione de esa manera) es poner el tiempo de espera de su comando en la configuración:

<configuration>
   <appSettings>
      <add name="CommandTimeout" value="120" />
   </appSettings>
</configuration>

y luego en su código, lea ese valor de la configuración y úselo para su SqlCommand Clases:

int commandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]);

using(SqlCommand cmd = new SqlCommand(..(your SQL statement)..., connection))
{
    cmd.CommandTimeout = commandTimeout;
}

Con esto, al menos podría ajustar el tiempo de espera sin tener que cambiar su código.

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