Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 可达性:两次调用TryGetFlags时为空标志_C#_Iphone_Xamarin.ios_Ios Simulator_Reachability - Fatal编程技术网

C# 可达性:两次调用TryGetFlags时为空标志

C# 可达性:两次调用TryGetFlags时为空标志,c#,iphone,xamarin.ios,ios-simulator,reachability,C#,Iphone,Xamarin.ios,Ios Simulator,Reachability,我有以下代码来测试网络连接: if(remoteHostReachability==null){ remoteHostReachability=新的网络可达性(主机名); //我们需要在排队之前进行探测,否则我们将无法获得任何有意义的值 //仅当您从主机名创建网络可达性时才会发生这种情况 可访问=remoteHostReachability.TryGetFlags(输出标志); //remoteHostReachability.SetCallback(OnChange); remoteHostR

我有以下代码来测试网络连接:

if(remoteHostReachability==null){
remoteHostReachability=新的网络可达性(主机名);
//我们需要在排队之前进行探测,否则我们将无法获得任何有意义的值
//仅当您从主机名创建网络可达性时才会发生这种情况
可访问=remoteHostReachability.TryGetFlags(输出标志);
//remoteHostReachability.SetCallback(OnChange);
remoteHostReachability.SetNotification(OnChange);
remoteHostReachability.Schedule(CFRunLoop.Current、CFRunLoop.ModeDefault);
}否则{
可访问=remoteHostReachability.TryGetFlags(输出标志);
}
当第一次调用它时,标志是ok。但是,当第二次调用它时,标志始终等于零。在iOS模拟器5.0上测试


有什么问题吗?在的和的示例中,NetworkReachability只创建了一次。

我发现在使用Reachability时,我没有测试远程状态,而是确保主机是可访问的

Reachability.HostName = "www.google.com";
var reachable = (Reachability.InternetConnectionStatus() != NetworkStatus.NotReachable) && Reachability.IsHostReachable("www.google.com");

请注意,第一次
TryGetFlags
是从后台线程(
InvokeInBackground
)调用。我也想获取状态更改事件,而不是定期检查它。