我试图从WAN Miniport(IKEv2)接口获取传入和传出流量,但它不起作用。 首先,我创建一个新的VPN配置文件,然后我连接配置文件。这很好用。之后我想获得传入和传出的流量,但我每次都得到0.这是我的代码
var internetConnectionProfile = NetworkInformation.GetInternetConnectionProfile();
if (internetConnectionProfile.ProfileName != profileName) // I'm checking to see if this is my VPN profile
{
return;
}
var usageStates = new NetworkUsageStates
{
Roaming = TriStates.DoNotCare,
Shared = TriStates.DoNotCare
};
var networkUsage = await internetConnectionProfile.GetNetworkUsageAsync(
this.startTime, //Saved when the profile is connected
DateTimeOffset.Now,
DataUsageGranularity.Total,
usageStates);
ulong completeTrafic = 0;
foreach(var usage in networkUsage)
{
completeTrafic = usage.BytesReceived + usage.BytesSent; //Everytime it's 0
}
一个有趣的观点是,usage.ConnectionDuration
它不是0,它在某种程度上是正确的。我认为比我在网络和共享中心看到的要少10秒 - >右键单击界面 - >状态。在“状态”对话框中,它正确显示“已发送和接收”字节。
我的项目设置:
我的Windows版本是Windows 10 1703。
答案 0 :(得分:0)
通过我的测试,上面的代码片段可以很好地工作,发送和接收字节都不是0.所以代码本身没有任何问题。
请尝试检查是否有任何参数不正确。例如,profileName
是您要测试的正确值,startTime
正确设置以便能够使用。否则,连接配置文件可能会出现问题。请尝试检查互联网连接,或尝试其他连接配置文件进行测试。
更多详情请参阅official sample。