-2

我正在编写一个 xamarin 表单应用程序,并且正在使用我创建的 API。我已经按照教程来使用 Api,但是异步操作之后的代码永远不会被执行,它会跳到主函数。

该代码与我一直关注的教程中的代码完全相同。我没有找到任何信息,因为没有错误消息。

private async void ChecarCredenciales(string username, string password)
        {
            HttpClient client = new HttpClient();
            var url = "http://localhost:57008/api/operadores/" + username;
            var response = await client.GetStringAsync(url).ConfigureAwait(false);
            Lecturista = JsonConvert.DeserializeObject<Operadores>(response);
        }

JsonConvert.DeserializeObject永远不会被执行,因此变量Lecturista永远不会被初始化。

提前致谢。

4

1 回答 1

2

async Task首先,正如其他已经评论过的那样,将您的方法更改为private async Task ChecarCredenciales(string username, string password){

第二个在你的await块中,你说要在 Threadpool 线程上下文上继续,而不是在同一个同步上下文上做ConfigureAwait(false);. 我建议您继续使用相同的上下文,因为在下一步中您需要结果数据

var response = await client.GetStringAsync(url);
Lecturista = JsonConvert.DeserializeObject<Operadores>(response); 
于 2019-05-09T19:31:10.580 回答