xamarin android异步方法不工作



我的可移植类上有一个静态方法

async public static Task<JSONObject> CheckToken(string token)
{
    var client = new HttpClient();
    var formContent = new FormUrlEncodedContent(new[]
   {
        new KeyValuePair<string, string>("tag", "checkToken"),
        new KeyValuePair<string, string>("token", token)
    });
    var response = await client.PostAsync("http://10.0.0.6:888/api.php",     formContent);
    string res = await response.Content.ReadAsStringAsync();
    return new JSONObject(res);
}

主要活动代码

protected override async void OnCreate (Bundle bundle)
{
    FacebookSdk.SdkInitialize(this);
    LoginManager.Instance.LogOut();
    base.OnCreate(bundle);
    var tracker = new myTokenT(this);
    tracker.StartTracking();
    ISharedPreferences prefs = PreferenceManager.GetDefaultSharedPreferences(this);
    var token = prefs.GetString("token","notoken");
    var res = await Client.CheckToken(token); // stop here
......
}

当它到达时

 var response = await client.PostAsync("http://10.0.0.6:888/api.php",     formContent);

正在获取异常System.Threading.Tasks.TaskCanceledException:任务已取消。

它停止了。。就像我等了3分钟,然后我得到了例外,有趣的是它以前起作用了!我不知道为什么会发生这种事。

  • 假设ICMP在该服务器上启用,请使用Android的adb测试从设备/模拟器内对该服务器的访问:

    adb外壳ping 10.0.0.6

  • 假设您在该web服务器上有某种类型的开放访问测试/状态网页,您能从设备/模拟器的web浏览器浏览该服务器吗?

最新更新