【发布时间】:2015-03-02 15:25:04
【问题描述】:
在.Net(桌面,Win7)中,是否有一种规范的方法可以可靠地检查活动网络连接是否为移动连接的网络连接类型?
目前我有这个:
public bool IsMobileConnectionActive()
{
if (!NetworkInterface.GetIsNetworkAvailable()) return false;
// PPP & broadband Interfaces
var broadbandTypes = new[]
{
NetworkInterfaceType.Ppp,
NetworkInterfaceType.Wwanpp,
NetworkInterfaceType.Wwanpp2
};
var mobileInterfaces = from nic in NetworkInterface.GetAllNetworkInterfaces()
where nic.OperationalStatus == OperationalStatus.Up
where broadbandTypes.Contains(nic.NetworkInterfaceType)
select nic;
return mobileInterfaces.Any();
}
但是,检查特定的网络接口类型似乎相当脆弱。例如,在 .net 4 中,类型 Wwanpp 和 Wwanpp2 不可用。
理想情况下,该检查将由框架以某种方式提供...
有没有更好的办法?
【问题讨论】:
标签: c# .net base-class-library