Suspensión de la aplicación mientras la red \ SQL Server no está disponible

Mi aplicación se conecta a varias instancias de SQL Server (usando SMO y ADO.net), estas conexiones están todas cerradas correctamente (estoy usando Using), una conexión es SqlDependency para la notificación de cambio de tabla.

Parte de la aplicación establece una conexión VPN encapsulada a un sistema remoto, esto hace que todos los recursos de la red no estén disponibles, incluidas las instancias de SQL.

¿Cuál sería el método recomendado para manejar este escenario? Donde una desconexión de red \ sql es frecuente pero predecible.

Estoy usando la agrupación de conexiones, así que no tengo control sobre el restablecimiento de una conexión, si intento abrir una conexión (que recupera una conexión disponible de la agrupación) fallará tan pronto como intente usarla. (Dado que las conexiones agrupadas no se prueban para ahorrar gastos generales).

preguntado el 08 de enero de 11 a las 20:01

1 Respuestas

Utiliza el NetworkChange class para reaccionar a los cambios en la tabla de direcciones IP que indiquen que vale la pena intentarlo de nuevo. Esta clase le notificaría cuando la VPN se conecta y cuando se desconecta. Cuando detecte un cambio, borre todos los grupos de conexiones con SqlConnection.ClearAllPools.

También debe investigar alternativas a VPN que aún le permitan ver los recursos de la red local. mientras conectado de forma remota, como Acceso directo.

Respondido el 09 de enero de 11 a las 00:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.