在网络\ SQL Server不可用时暂停应用程序

时间:2011-01-08 20:39:05

标签: sql vb.net ado.net smo

我的应用程序连接到多个SQL Server实例(使用SMO和ADO.net),这些连接都已正确关闭(我正在使用Using),一个连接是用于表更改通知的SqlDependency。

部分应用程序与远程系统建立封装的VPN连接,这会导致所有网络资源不可用,包括SQL实例。

处理此方案的推荐方法是什么?网络\ sql断开连接频繁但可预测的地方。

我正在使用连接池,因此无法控制重新建立连接,如果我尝试打开连接(从池中检索可用连接),一旦我尝试使用它就会失败。 (由于池化连接未经过测试以节省开销)。

1 个答案:

答案 0 :(得分:3)

使用NetworkChange类来响应IP地址表更改,这些更改表明值得再次尝试。此类将在VPN连接和断开连接时通知您。当您检测到更改时,请使用SqlConnection.ClearAllPools清除所有连接池。

您还应该调查VPN的替代方案,这些替代方案仍允许您在远程连接时查看本地网络资源,例如DirectAccess