Estoy usando una cadena de conexión SQL con SqlClient.SqlConnection y especificando Connection Timeout = 5 en la cadena, pero aún espera 30 segundos antes de devolver la falla. ¿Cómo lo hago renunciar y regresar más rápido? Estoy en una red local rápida y no quiero esperar 30 segundos. Los servidores que no están encendidos tardan 30 segundos en fallar. Este es solo un programa de utilidad rápido que siempre se ejecutará solo en esta red local.Cómo hacer que el tiempo de espera de SqlConnection sea más rápido
Editar: Lo siento si no estaba claro. Quiero que el SqlConnection.Open falle más rápido. Espero que eso pueda deducirse del hecho de que los servidores que quiero fallar más rápidamente están apagados.
Editar: Parece que la configuración solo falla a veces. Al igual que sabe la dirección IP del servidor, y está utilizando TCP/IP para hablar con él (no local) pero no puede ponerse en contacto con SQL Server en esa dirección. No estoy seguro de cuál es el patrón, pero no veo el problema cuando se detiene la conexión local con SQL Server, y no lo veo cuando intento conectarme a un servidor que no existe. Lo he visto al intentar contactarme con un servidor donde el firewall de Windows 2008 está bloqueando SQL Server.
ConnectionTimeout es una propiedad de sólo lectura – BlueMonkMN
estoy golpeando un patrón muy extraño aquí. El tiempo de espera parece funcionar cuando me conecto a mi sistema local con SQL Server detenido. Parece que funciona cuando trato de conectarme a un servidor inexistente. Pero no parece funcionar cuando trato de conectarme a un servidor que existe, pero tiene el firewall bloqueando SQL y/o no tiene instalado SQL Server. – BlueMonkMN
Un hilo interesante sobre este tema aquí: http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.adonet/topic48533.aspx. Sugiero implementar su propio mecanismo de tiempo de espera: escinde un hilo para intentar abrir y matarlo si no ha tenido éxito dentro del período de tiempo de espera deseado. –