如何以编程方式连接到VPN?

我有一个我一直在丢失的VPN连接,我需要连接到我们的数据库服务器,但每次第二次或第三次连接都失败,因为我丢失了VPN连接。 在继续尝试数据库连接之前,我想添加somde代码 – 仅用于DEBUG配置 – 检查VPN连接并在必要时重新连接。

您可以使用System.Net.NetworkInformation.Ping检查连接是否已启动 – 然后rasdial在连接丢失时重新连接vpn。

例如

System.Diagnostics.Process.Start("rasdial.exe", "VPNName Username Password"); 

您也可以使用断开VPN连接

 System.Diagnostics.Process.Start("rasdial.exe", "VPNName /d"); 

更新

在没有参数的情况下调用rasdial会返回一个打开的连接列表 – 对您来说可能是一个更强大的解决方案。