Post方法永远不会在Xamarin Forms iOS中返回

时间:2016-07-04 10:46:01

标签: c# xamarin xamarin.forms

我正在使用以下代码段:

public async Task<LoginUser[]> GetUserAsync()
{
    var client = new System.Net.Http.HttpClient();
    client.BaseAddress = 
        new Uri("http://developer-platform.com/dutyfreebuzz/web_services/Login");
    StringContent str = new StringContent("username=admin&password=12345", Encoding.UTF8, "application/x-www-form-urlencoded");
    var response = await client.PostAsync(new Uri("http://developer-platform.com/dutyfreebuzz/web_services/Login/loginJSON"), str);
    var loginJson = await response.Content.ReadAsStringAsync();
    Rootobject rootobject = new Rootobject();
    if (loginJson != "")
    {
        //rootobject = JsonConvert.DeserializeObject<Rootobject>(loginJson);
    }
    //return rootobject.loginusers;
}

我已将断点设置为此函数。在执行期间,调试器不会移动到 PostAsync调用,它正在退出该功能。

1 个答案:

答案 0 :(得分:0)

此答案是Cheesebaron和OP的评论摘要,因为解决方案已在评论中提供。

如果在iOS上启用了链接器,则在可移植类库的async / await代码中设置断点是当前已知的问题。

  

41836:对于iOS应用,PCL项目中的异步方法中的断点   如果启用了链接器,则不会被命中。部分临时解决方法:   设置项目属性&gt; iOS Build&gt;链接器行为要不要链接。   (对于设备构建,这种解决方法不幸创建   显着更大的.app捆绑,可以延长部署时间。)

作为一种解决方法,在WriteLine()

中设置断点
System.Diagnostics.Debug.WriteLine(response);