DAL Web服务C#

时间:2015-09-14 22:34:00

标签: c# web-services

我在C#中有一个应用程序层,我需要在你进入DAL时检查是否通过VPN连接。这是为了在您没有VPN并执行查询时连接到Web服务,但是如果您通过DAL dll本地连接所有VPN,并且您可以使用本地服务器名称连接到数据库

1 个答案:

答案 0 :(得分:0)

这是多个选项

  1. 如果DAL始终需要VPN连接以连接到数据库,那么始终在DAL的init上尝试打开SQL连接并检查它是否正常工作,否则VPN不存在。

  2. VPN是ppp连接,因此如果任何PPP连接处于活动状态,您可以使用此代码进行检查,并尝试打开SQL连接并查看其是否有效

        if (NetworkInterface.GetIsNetworkAvailable())
        {
            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();
            foreach (NetworkInterface Interface in interfaces)
            {
                if (Interface.OperationalStatus == OperationalStatus.Up)
                {
                    if ((Interface.NetworkInterfaceType == NetworkInterfaceType.Ppp) && (Interface.NetworkInterfaceType != NetworkInterfaceType.Loopback))
                    {
                        IPv4InterfaceStatistics statistics = Interface.GetIPv4Statistics();
                        MessageBox.Show(Interface.Name + " " + Interface.NetworkInterfaceType.ToString() + " " + Interface.Description);
                    }
                    else
                    {
                        MessageBox.Show("VPN Connection is lost!");
                    }
    
                }
            }
        }