亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

HttpClient 上的 UWP 等待不起作用

HttpClient 上的 UWP 等待不起作用

C#
Cats萌萌 2021-10-24 17:02:13
我正在嘗試從 Web API 獲取 JSON 響應。我能夠使用類似的代碼在控制臺應用程序中檢索響應,但是在 UWPawait httpClient.GetAsync(uri);中無法按預期工作。public static async Task<double> GetJson(){    using (var httpClient = new HttpClient())    {        Uri uri= new Uri("https://api.cryptonator.com/api/ticker/btc-usd");        HttpResponseMessage response = await httpClient.GetAsync(uri);        //Below code is not relevent since code is failing on await        var result = response.Content.ReadAsStringAsync();        var jsonResponse = Json.ToObjectAsync<ExchangeRate>(result);//        jsonResponse.Wait();//        ExchangeRate exchangeRateObj = jsonResponse.Result;//        return 1.2;//    }}后面的代碼:private void Button_Click(object sender,RoutedEventArgs e){var ROC__ =  MyClass.GetJson();ROC__.Wait();currency_.ROC = ROC__.Result;}在這里不起作用是什么意思?它應該連接到 URL 并獲取響應,并且應該為響應分配一些值。相反,在調試時使用 step into 或 Continue 控制退出當前行也跳過后續行。(我也把調試放在下一行),應用程序只是凍結。我HTTPClient在 Stackoverflow 和其他博客上參考了類似的 JSON 解析代碼,建議使用System.Net.Http或Windows.Web.Http相關問題: how-to-get-a-json-string-from-url我認為任務正在運行并且它一直處于等待模式,這看起來很奇怪,因為調試模式不顯示正在運行的代碼,它只顯示ready. 也不例外。我做錯了什么或錯過了一些 Nuget 參考?請建議。PS:它不變的情況下用httpClient.GetStringAsync的方法了。在控制臺應用程序上,這條線有效,但在 UWP 上無效 var json = new WebClient().DownloadString("https://api.cryptonator.com/api/ticker/btc-usd");不重復httpclient-getasync-never-returns-on-xamarin-android它不是 Xamarin,盡管它是基于 C# 的,但我的代碼是不同的,它不是我所關心的 WebApiClient 或 GetInformationAsync 方法。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 269 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號