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

Pro*_*ofK 11 .net c# vpn windows-7

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

Pau*_*ulB 18

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

例如

System.Diagnostics.Process.Start("rasdial.exe", "VPNName Username Password"); 
Run Code Online (Sandbox Code Playgroud)

您也可以使用断开VPN连接

System.Diagnostics.Process.Start("rasdial.exe", "VPNName /d"); 
Run Code Online (Sandbox Code Playgroud)

更新

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